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
si vous écrivez de telles classes :
d'après vos recherches, la classe B sera plus lente à exécuter si vous utilisez fréquemment des champs de structure dans les calculs ?
Donc, nous discutions du temps de traversée d'un tableau d'objets))).
Selon votre exemple, ce sera la même chose en plus, mais en mql il y a une nuance, il y a deux champs implicites qui passent en premier, donc, le champ de données sera approché par le décalage, c'est-à-dire des calculs supplémentaires lors du déréférencement.
Donc, nous discutions du temps de traversée du tableau d'objets))))
Selon votre exemple, ce sera la même chose en plus, mais en mql il y a une nuance, il y a deux champs implicites, qui vont en premier, donc, le champ de données sera approché par le décalage, c'est-à-dire des calculs supplémentaires lors du déréférencement.
Merci, c'est utile !
Donc, nous discutions du temps de traversée d'un tableau d'objets))))
Selon votre exemple, ce sera la même chose en plus, mais en mql il y a une nuance : il y a deux champs implicites qui passent en premier, donc le champ de données sera accédé à un décalage, c'est-à-dire que des calculs de déréférencement supplémentaires seront effectués.
Donc, pas de mysticisme - les lois de la physique en action.
Ça ne correspond pas aux "lois de la physique".
Il s'agit d'un résultat paradoxal. Les calculs plus complexes sont effectués 1,5 fois plus vite et ne dépendent pas de la taille.
Donc, nous discutions du temps de traversée des tableaux d'objets))))
Selon votre exemple, ce sera la même chose en plus, mais il y a une subtilité dans mql : il y a deux champs implicites qui passent en premier, donc le champ de données sera accédé à un décalage, c'est-à-dire que des calculs de déréférencement supplémentaires seront effectués.
Merci à Vladimir pour l'étude de l'assembleur.
Et comme le suggère Alexey, les frais généraux sont créés par les classes.
Nous pouvons en conclure que si vous pouvez vous passer de classes, il est préférable d'écrire du code en style procédural.
En d'autres termes, si la tâche ne nécessite pas de rapidité, vous pouvez l'envelopper dans une classe, mais si vous avez affaire à des tics, par exemple, il vaut mieux l'utiliser directement sans enveloppe.
En principe, c'est la démarche que j'ai suivie, et souvent en trouvant un exemple de classe, je démonte ses méthodes en approche procédurale.
Merci Vladimir pour l'étude de l'assemblage.
Et comme le suggère Alexey, les frais généraux créent des classes.
Nous pouvons en conclure que si nous pouvons nous passer de classes, il est préférable d'écrire le code en style procédural.
En d'autres termes, si la tâche n'exige pas de rapidité, vous pouvez l'envelopper dans une classe, mais si vous avez affaire à des ticks, par exemple, il vaut mieux écrire directement sans wrapper.
En principe, c'est l'approche que j'ai suivie et souvent, lorsque je trouve un exemple de classe, je démonte ses méthodes en utilisant l'approche procédurale.
Il y a un troll sur le forum...
Avant, je ne comprenais pas pourquoi certains utilisateurs demandaient la fonction "ignorer", ah comme elle a disparu maintenant...
Forum sur le trading, les systèmes de trading automatisés et les tests de stratégie
Questions sur la POO dans MQL5
fxsaber, 2020.05.30 14:06
Je n'ai aucune idée de ce qu'il faut en faire. J'ai fait des structures simples.
Je ne sais pas pourquoi l'accès au premier champ d'une structure simple dépend de sa taille.
Pour les structures de taille 20 et 84 octets, cela représente respectivement 0,93 Go et 3,91 Go de données.
Et dans le cadre de votre calcul, vraisemblablement, toute cette mémoire passe par le cache du processeur.
Et une explication très logique de ces résultats serait que 0,93 Go de données seraient téléchargées de la mémoire vers le cache du CPU quatre fois plus vite que les 3,91 Go de données.
Qu'en est-il des résultats du test C++ ?
Parce que j'ai vu du code assembleur, mais pas de résultats de tests, ou est-ce que j'ai mal regardé ?
Il y a un troll sur le forum...
Avant, je ne comprenais pas pourquoi certains utilisateurs demandaient la fonction "ignorer", ah comme elle est absente maintenant...
Tu dois faire attention à toi, pas aux autres.
Pas vous et pas pour vous, telle était la réponse.
Ignorer en silence ;))
Pour des structures de 20 et 84 octets, cela représente respectivement 0,93 Go et 3,91 Go de données.
Et dans le cadre de votre calcul, on peut supposer que toute cette mémoire passe par le cache du processeur.
Et une explication très logique de ces résultats serait que 0,93 Go de données seraient téléchargées de la mémoire vers le cache du CPU quatre fois plus vite que les 3,91 Go de données.
Qu'en est-il des résultats du test C++ ?
Parce que j'ai vu du code assembleur, mais pas de résultats de tests, ou est-ce que j'ai mal regardé ?
Merci Vladimir pour l'étude de l'assemblage.
Et comme le suggère Alexey, les frais généraux créent des classes.
Nous pouvons en conclure que si nous pouvons nous passer de classes, il est préférable d'écrire le code en style procédural.
En d'autres termes, si la tâche ne nécessite pas de rapidité, vous pouvez l'envelopper dans une classe, mais si vous avez affaire à des tics, par exemple, il vaut mieux l'utiliser directement sans enveloppe.
En principe, c'est l'approche que j'adopte, et souvent en trouvant un exemple de classe, je démonte ses méthodes dans un style procédural.
Vous pouvez utiliser une structure au lieu d'une classe, elles sont très bien.