begin process at 2012 02 17 11:37:44
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Divers

 > 

General

 > 

optmisation boucle


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

optmisation boucle

mardi 13 janvier 2009 à 10:14:35 | optmisation boucle

aurel16

Bonjour,

J'ai à l'origine une boucle :

    For  x=0 To 100000000
            If not(x=10000) Then
                y+=1
            End If
        Next

Est ce que en faisant comme ci dessous, cela optimise la chose ?

    For  x=0 To 9999
            y+=1
        Next
        for x=10001 to 100000000
        y+=1
        next

Je pense que oui, mais je n'arrive pas à faire les calculs de temps, cela est toujours variable.
Merci de votre aide.
mardi 13 janvier 2009 à 10:31:49 | Re : optmisation boucle

aurel16

J'ai oublié de préciser que le y+=1 est juste un exemple de code. ( l'optimisation en peut donc pas venir de la )
mardi 13 janvier 2009 à 10:49:48 | Re : optmisation boucle

Renfield

Administrateur CodeS-SourceS
Réponse acceptée !
ca optimise, oui, je le pense, tu supprime un test sur un bon paquet d'iterations
mardi 13 janvier 2009 à 11:20:18 | Re : optmisation boucle

jrivet

Membre Club
Salut
Question quel est l'intérêt d'une telle boucle (ou des deux d'ailleurs)
Est ce que une simple addition ne suffit pas?
(possible que je dise une grosse bêtise et d'avance m'en excuse )
@+: Ju£i€n
Pensez: Réponse acceptée
mardi 13 janvier 2009 à 11:23:29 | Re : optmisation boucle

Renfield

Administrateur CodeS-SourceS
l'aurait mieux vallu mettre

[...]

pour mentionner un code lambda, plutot que

y+=1

qui lui est inutile dans une telle boucle
mardi 13 janvier 2009 à 11:23:59 | Re : optmisation boucle

aurel16

Après les tests, en effet, cela est plus rapide.
Pour information je mets 14.1075s avec le code non optimisé et 13.4621s avec le code optimisé ( environ 5% de gain ) avec une dizaine d'itérations.
Je vous remercie pour votre aide Renfield.
mardi 13 janvier 2009 à 11:27:19 | Re : optmisation boucle

jrivet

Membre Club
Re,
Je renouvelle ma question aurel16
@+: Ju£i€n
Pensez: Réponse acceptée
mardi 13 janvier 2009 à 11:39:12 | Re : optmisation boucle

aurel16

Pour jrivet : " J'ai oublié de préciser que le y+=1 est juste un exemple de code. ( l'optimisation en peut donc pas venir de la ) "
mardi 13 janvier 2009 à 11:41:31 | Re : optmisation boucle

Renfield

Administrateur CodeS-SourceS
j'vois pas ce qui te gène, jrivet...
aurel16 a mis y+=1 histoire de mettre du code.

il aurait surement du mettre [...] ou un truc non dérangeant
mardi 13 janvier 2009 à 14:59:35 | Re : optmisation boucle

aurel16

Sinon pour le If not(x=10000) on peut le remplacer par if not(x.equals(10000))

Lien : http://geekswithblogs.net/viktorbergman/archive/2007/03/26/109801.aspx

1 2

Cette discussion est classée dans : boucle, to, for, if, optmisation


Répondre à ce message

Sujets en rapport avec ce message

probleme de boucle for [ par Antony ] Bonjour à tous !voilà g créé un petit programme qui me permet de créer des tables hexadecimal. je met la lettre a et a la suite il m'ajoute la lettre Boucle FOR, utilisation complexe [ par OneManShow ] Je créé une suite de chiffres dans une procédure comme suit, et je compare la suite obtenu avec une suite passée en parametre a cette procedure : sub Pb de boucle dans Excel [ par drouault ] Voila mon souci :Je boucle dans une feuille Excel avec la formule suivante :Export_lin.Application.Sheets(1).Select   For n = 1 to nbligne_class_lin   Petite question avec boucle FOR [ par forum_ma ] Bonjour tout le monde, je n'ai pas vraiment besoin d'aide juste une petite question assez "basic" : Quel est la difference entre les 3 boucles FOR : F probleme de boucle for to, next [ par monopole ] bonjour, j arrive pas a enregistré un resultat par ordre des cellules sur excel, je doute d un petit probleme de boucle (for to et next), voici mon co For i = 1 To 18 [ par petiflamand ] Y a t-il une possibiliter de faire ceci, j' ai une erreur car rs!bouton & i ne fonctionne pas. Merci If rs.RecordCount > 0 Then rs.MoveFirst Do Unti Boucle For Each sur les contrôles [ par DAVIMIKA ] Bonjour,Je voudrais à l'aide d'une boucle mettre le libellé de mes case à cocher en rouge lorsqu'il sont cocher, mais je n'arrive pas imbriquer les di boucle for next [ par julienb25 ] bonjour à tous, Voila j'ai affecté des macros a un fichier exel.Voici un bout de code de l'une d'entre elle qui me pose problème   For i = i_column1 t boucles imbriquées [ par soussou42 ] Bonjour à tous, je bloque sur un petit détail mais costaud pour moi, j'ai une boucle if imbriquée dans une boucle for du type :...    for condition1   Automatisation de traitement [ par Tom352 ] Bonsoir à tous, Voila, je viens vers vous car je souhaiterais améliorer mon code mais je ne sais comment faire. Voici une partie du code : For i =


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,889 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales