Test du nouveau compilateur MQL5 pour les plateformes x64 - calculs 2 à 10 fois plus rapides ! - page 20
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Optimisez la logique. Par exemple, travailler avec des tableaux et des boucles. Essayez de regrouper les valeurs des critères dans un tableau. Et faire des vérifications en boucle. Peut-être qu'il n'y aura pas besoin de 74 000 cas alors...
Bien sûr, en théorie, on peut générer chaque chaîne par un long hash, et ne passer que ces hashs, puis l'utiliser pour tout générer - mais je ne suis pas sûr que cela soit rapide et la tâche n'est pas simple...
1. Vous y verrez les endroits les plus "lents" du code. Bien que... c'est une autre question de savoir si cela affecte la compilation...
2. Comme vous voulez : vous pouvez utiliser le cas. On vous a conseillé de le décomposer en petites fonctions. Brisez-le et testez-le. Oui, bien sûr, le code va s'élargir. Mais que faire.
Et ici j'ai réécrit le code en fonctions - dans l'annexe.
J'ai tout de suite remarqué que le code précédent prenait 14428 kb après compilation et que le nouveau prenait 9447 kb - je suis déjà surpris par une différence de 5 Mbytes - d'où !
Plus loin par la vitesse de compilation, le premier
nouvelle version
La nouvelle version est 5,46 fois plus rapide à compiler.
Et voici la version précédente en termes de vitesse :
la nouvelle version.
Et ici nous voyons que le premier passage d'agents (4 agents) est très lent - je l'ai essayé plusieurs fois - le résultat est stable, mais dans le log
Qu'est-ce que cela a à voir maintenant, peut-être que@Renat Fatkhullin ou@Slava peuvent me dire pourquoi un tel effet se produit ?
Le fichier est zippé. Lire le zip, dézipper à l'intérieur. Ce sera plus rapide que le transfert d'un EA de 500 Mo (il est également transféré à chaque agent).
N'est-il pas ensuite décompressé à nouveau à chaque nouveau passage ?
Et la lecture du fichier serait-elle plus rapide qu'un transfert unique de .....
N'est-il pas ensuite déballé à chaque fois qu'un nouveau passage est effectué ?
Oui, et la lecture d'un fichier serait-elle plus rapide qu'une simple passe.....
Oui, il pourrait être plus lent avec l'optimisation... Mais je vérifierais, tout est prévu pour ça.
Oui, cela peut être plus lent pendant l'optimisation... Mais je vérifierais, tout est prêt pour ça.
Qu'est-ce qui est prêt exactement - je ne comprends pas.
Qu'est-ce qui est prêt exactement - je ne comprends pas.
Travailler avec des archives zip.
Travailler avec des archives zip.
Oui, je l'ai vu, mais je ne l'ai pas essayé en pratique.
Le problème se situe plutôt au niveau de la préparation des données, c'est-à-dire de la traduction du code en tableau - je dois à nouveau traiter les données brutes...
J'ai créé une version publique de l'EA, maintenant je vérifie - est-ce qu'elle va compiler ou non - le processus n'est pas rapide, mais maintenant vous pouvez voir que 46% du code est compilé et que déjà 36 GB de RAM sont consommés...
Veuillez me fournir le code à étudier.
Je vais vérifier pourquoi il compile si lentement et consomme tant de mémoire.