Méthode d'optimisation

Résolu
DDelec24 Messages postés 109 Date d'inscription jeudi 23 octobre 2003 Statut Membre Dernière intervention 23 octobre 2007 - 15 août 2004 à 14:18
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 15 août 2004 à 22:07
Bonjour a tous.
Ma question est peut etre un peu bete pour certain, mais j'aimerais savoir si le code suivant peut etre optimisé, tout du moins réduit :
If Len(Text6) <> 8 Or Len(Text7) <> 8 Or Len(Text8) <> 8 Or Len(Text9) <> 8 Then
...


Je ne sais pas si cela est possible, mais il y a len() et le 8 en commun, peut on évité ces répétitions?

Merci aux braves gens qui me répondront :-p
AigleNoir ?-)

11 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
15 août 2004 à 20:23
Ta methode originale sera la plus rapide d'execution car aucun saut de code, ce qui se produit par contre dans une boucle.

ciao...
BruNews, Admin CS, MVP Visual C++
3
cs_RDX Messages postés 117 Date d'inscription samedi 26 juin 2004 Statut Membre Dernière intervention 27 août 2005
15 août 2004 à 14:52
on ne peut rien faire (du moins je crois) si tes variables text ne sont pas indexées.

si pas contre elle étaient indexées (dim texte(6 To 9) as string) tu pourais faire :

dim BlnTest as boolean
dim lCnt as long

blntest=(len(text(6))<>8

for lCnt = 7 to 9
blntest=blntest or (len(text(lCnt))<>8)
next

if blntest = true then
...
0
cs_RDX Messages postés 117 Date d'inscription samedi 26 juin 2004 Statut Membre Dernière intervention 27 août 2005
15 août 2004 à 14:54
plus court même :

dim BlnTest as boolean
dim lCnt as long

for lCnt = 7 to 9
blntest=blntest or (len(text(lCnt))<>8)
next

if blntest = true then
'... 
0
DDelec24 Messages postés 109 Date d'inscription jeudi 23 octobre 2003 Statut Membre Dernière intervention 23 octobre 2007
15 août 2004 à 20:10
Merci beaucoup, je teste dessuite :)
AigleNoir ?-)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
MPunisher Messages postés 4 Date d'inscription mercredi 5 septembre 2001 Statut Membre Dernière intervention 15 août 2004
15 août 2004 à 20:39
Effectivement BruNews as completement raison,
mais je n'ai fait que ce qu'il a demandé, a savoir boucler tout ca...

Bye!
0
DDelec24 Messages postés 109 Date d'inscription jeudi 23 octobre 2003 Statut Membre Dernière intervention 23 octobre 2007
15 août 2004 à 20:43
OKOK, merci de vos conseils, donc si sa optimise pas, ya pas d'interet ^^

AigleNoir ?-)
0
cs_RDX Messages postés 117 Date d'inscription samedi 26 juin 2004 Statut Membre Dernière intervention 27 août 2005
15 août 2004 à 20:48
oups j'metait pas identifié et j'ai répondu sous le nom de mon frere (faudra que je lui dise qu'il se deconecte la prochaine fois, sinon va y'avoir encore des msg de moi et que c'est mon frere qui repond!), désolé pour lui :) .
0
ShadowMaster Messages postés 184 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 18 août 2005
15 août 2004 à 21:51
je voulais ajouter que le signe <> fait perdre de la vitesse à ton code
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
15 août 2004 à 21:55
Pourquoi ? se toujours en 1 instruction:
cmp eax, 8
jne LblNot8

ciao...
BruNews, Admin CS, MVP Visual C++
0
ShadowMaster Messages postés 184 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 18 août 2005
15 août 2004 à 22:03
j'ai remarqué ça dans un test 3d qui calcul la distance entre la position de la camera et plusieurs mesh environnant, rien quand changeant en > ou = ou > j'ai remarqué une augmentation de 10fps. c'était des comparaisons de long.
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
15 août 2004 à 22:07
Venait d'autres facteurs, comparaison modifie registre Eflags et sa consultation est 1 cycle dans tous les cas.
Surement venait de l'implementation dans une boucle ou truc de ce genre.

ciao...
BruNews, Admin CS, MVP Visual C++
0
Rejoignez-nous