Test du nouveau compilateur MQL5 pour les plateformes x64 - calculs 2 à 10 fois plus rapides ! - page 19
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
Leprofileur a-t-il déjà été suggéré ?
Option n° 2. Prenez chaque ligne de caractères :
en une fonction distincte. Essayez de croire Renate :)
C'est-à-dire que le résultat devrait être comme ceci à la fin :
etc.Oui, il y a un lien vers l'EA ici.
Cela fait deux jours - la compilation est de 7%...
Sur cette machine.
Leprofileur a-t-il déjà été proposé ?
Non, pas du tout - qu'est-ce que je suis censé y voir exactement ? Je ne sais pas vraiment comment l'utiliser.
Option 2. Pour mettre chaque chaîne de type :
en une fonction distincte. Essayez de croire Renate :)
C'est-à-dire que le résultat devrait être tel au bout du compte :
etc.C'est la variante "cas :" et non la variante "si" qui donne un gain de vitesse significatif à cet endroit. Si tu le fais même comme
Le code va devenir encore plus grand. Mais vous pouvez comparer le temps de compilation et les performances, bien sûr...
Sur cette voiture.
Oui, ce code n'est pas gros, je n'ai pas posté un code de 500 mégaoctets - si vous en avez besoin, je peux...
Quels autres moyens suggérez-vous ? C'est l'option la plus rapide que j'ai trouvée jusqu'à présent...
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'alors il n'y aura plus besoin de 74 000 cas...
1. Non, ils ne l'ont pas fait - qu'est-ce que je suis censé y voir exactement ? Je ne sais pas vraiment comment l'utiliser.
2. c'est la variante "cas :" et non la variante "si" qui donne un gain de vitesse significatif. Si tu le fais même comme
Le code va devenir encore plus rapide... Mais vous pouvez certainement comparer le temps de compilation et les performances...
1. vous y verrez les parties les plus lentes du code. Bien que... Une autre question est de savoir si cela affecte la compilation...
2. Comme vous voulez : vous pouvez utiliser le cas. On vous a conseillé de le diviser en plus petites fonctions. Brisez-le et testez-le. Oui, bien sûr, le code va s'élargir. Mais que faire.
Je pourrais transférer cette énumération, disons, dans un fichier CSV externe, mais un autre problème se pose alors - perte de temps pour lire le fichier, et de plus, lorsque je distribue les tâches aux agents, je ne suis pas en mesure d'envoyer 500 mégaoctets à chaque agent, alors que le code EA est envoyé à un agent (ou pas ?) et divisé entre eux.
Et une autre question, mon code est facilement compressé par 7zip de 500 à 15 mégaoctets, mais après compression, le fichier sera autour de 500 - pourquoi en est-il ainsi - aucun moyen de faire une compression primitive (au moins jusqu'à 100 mégaoctets) ?
Compresser le fichier par zip. Lire le zip, décompresser à l'intérieur. Ce sera plus rapide que le transfert de 500 Mb d'EA (il est également transféré à chaque agent).
@Renat Fatkhullin, pouvez-vous préciser si le profileur peut aider à révéler les goulots d'étranglement de la compilation ? Ou l'utiliser uniquement pour vérifier la vitesse du code en temps réel ?
Le profileur n'a rien à voir avec la compilation.