Vitesse d'execution | Balayage de tableaux

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
Guysmo
Niveau 1
Niveau 1
Messages : 2
Enregistré le : dim. 07 août 2016 16:13
Status : Hors ligne

Vitesse d'execution | Balayage de tableaux

#1

Message par Guysmo »

Bonjour à tous,

Je suis en train de faire un comparateur de nombre pour obtenir un %.

Je m'explique :
J'ai un premier tableau A[52]
J'ai un deuxième tableau B[52] ou ses valeurs sont concatenées avec celle du tableau A.
Puis un tableau C[100]

J'ai 3 boucle For imbriquées qui me permettent de tout balayer.
La première valeur du tableau A est concaténée à la première valeur du tableau C. Une fois tout le tableau A passé, la ligne en cours tu tableau C s’incrémente automatiquement, puis etc. Ainsi à chaque itération, une comparaison se fait avec la ligne en cours du tableau A pour obtenir le % désiré.
For $j = 0 To $AddHeroDeckRows-1   ; Notre main
ConsoleWrite("$j : " &$j &"   $AddHeroDeck[$j] : " &$AddHeroDeck[$j] &@CRLF)

   For $a = 0 To $aResultRows-1  ; Tableau Excel
   ConsoleWrite("$a : " &$a &"   Tableau Excel : " &$aResult[$a] &@CRLF)

      For $k = 0 To $CardRows-1        ; Balayage des main de VILAIN avec les cartes restantes
Mon code fonctionne bien mais le problème est qu'il prend beaucoup de temps pour se terminer, environ 1 minute pour 500 000 itérations. Depuis que j'ai rajouté un "If" entre chaque itération, le programme est inutilisable au vu du temps qu'il prend.

J'ai trouvé ce lien qui m'aidera surement : http://blog.security-helpzone.com/autoi ... s-101.html

Ensuite je me tourne vers vous sur la question de la conception. Qu'est ce qui est le plus recommandé concernant le balayage de tableau ?
Autre question, mon processeur tourne à 30% quand le script s'éxécute. Y a t il un moyen de le monter à son maximum ?

Je vous remercie
Guysmo
Avatar du membre
Guysmo
Niveau 1
Niveau 1
Messages : 2
Enregistré le : dim. 07 août 2016 16:13
Status : Hors ligne

Re: Vitesse d'execution | Balayage de tableaux

#2

Message par Guysmo »

En enlevant la comparaison des "If" et en remplaçant les "For To" par "For In", je descend à 30 sec uniquement pour balayer toutes les combinaisons possibles des tableaux. L'idéale serait 5 sec mais je sais pas si AutoIT est bridé.
Si je refais le même code en Java par exemple, la durée sera t-elle identique ?
Répondre