De quel type de frais généraux parlons-nous ?
Si nous parlons de code machine, pour autant que je sache, la fonction virtuelle appelle la procédure indirectement, par le biais de la table des fonctions virtuelles. Mais dans le cas de fonctions normales, c'est un appel direct. Je pense qu'il y a très peu de frais généraux.
Les frais généraux du programmeur sont beaucoup plus importants - écriture et maintenance du code, correction des bogues...
Les fonctions sans paramètres sont plus rapides que les fonctions avec paramètres.
Les fonctions sans paramètres sont plus rapides que les fonctions avec paramètres.
Bien sûr, cela fait deux ans que je m'exprime en assembleur.) C'est vrai, pour les processeurs embarqués, mais le C++ reste du C++. Même une fonction sans paramètres a un prologue et un épilogue, qui prend également du temps.
Le moyen le plus rapide, bien sûr, est d'utiliser une macro conçue pour ressembler à une fonction. Il est dommage qu'il n'y ait pas de fonctions en ligne dans MQL, mais les macros sont un substitut de
De quel type de frais généraux parlons-nous ?
Si vous parlez de code machine, pour autant que je sache, la fonction virtuelle appelle la procédure indirectement, par le biais de la table des fonctions virtuelles. Et dans le cas de fonctions normales, c'est un appel direct. Je pense qu'il y a très peu de frais généraux.
Les frais généraux du programmeur sont beaucoup plus importants - écriture et maintenance du code, correction des erreurs...
Bien entendu, nous ne nous soucions pas de la surcharge du temps d'exécution - ces kilo-octets supplémentaires n'ont aucune importance. Nous ne nous soucions pas de ces kilo-octets supplémentaires.
Une macro serait bien sûr la plus rapide.
Rinat a déclaré que MT - un inliner sérieux fonctionne, et donne de bons résultats.
Oui, selon mes observations personnelles, dans MT4 le travail de l'inliner dépend de la taille de la pile (mémoire allouée pour les variables dans la pile) et du nombre de variables.
Mais dans MT5, la dépendance à la taille de la pile semble avoir été supprimée et l'optimiseur y est plus assistant en général.
Dans le cadre d'une tâche exigeant beaucoup de ressources, une question s'est posée : quel est le surcoût de l'utilisation de la POO par rapport à la programmation procédurale classique ?
Quelqu'un a-t-il effectué de tels tests ?
Je suis intéressé par la différence entre :
- Appel de fonction avec paramètres
- Appel de fonction sans paramètres
- Appel d'une macro avec la fonctionnalité de la fonction ci-dessus
- Appel de fonction - méthode d'une classe
- Appel de fonction virtuelle
Si des bibliothèques de POO prêtes à l'emploi sont disponibles, cela réduit le temps de développement de l'application. La vitesse d'exécution peut être ralentie lors de l'appel de la fonction virtuelle.
La seule nuance est la disponibilité de bonnes bibliothèques OOP.
"Bibliothèque standard" viole mon sens de la beauté et me pousse à utiliser des DLL et à coder tranquillement en C++.
Rinat a dit que dans MT - un inliner sérieux fonctionne, et donne de bons résultats.
Oui, l'inliner est très agressif et automatique.
L'optimiseur x64 est également une tête au-dessus de la version 32bit (cette branche est complètement arrêtée et non développée). En outre, l'optimiseur x64 sait comment dérouler la plupart des fonctions virtuelles en appels directs et en ligne. Après tout, les fonctions virtuelles sont souvent dégénérées.
Mais la véritable surcharge se situe au niveau des opérations de référence et du contrôle des index dynamiques. Ils doivent être contrôlés en permanence.
Dans le cadre d'une tâche exigeant beaucoup de ressources, une question s'est posée : quel est le surcoût de l'utilisation de la POO par rapport à la programmation procédurale classique ?
Bien sûr, les belles fonctionnalités de la POO sont coûteuses en ressources et en temps de débogage. La POO n'a de sens que comme enveloppe de texte pratique ou en cas d'utilisation minimale lors de l'initialisation de l'exécution... En fait, la POO n'était qu'un truc marketing de Microsoft pour augmenter les coûts des heures de travail des programmeurs et pour stimuler l'achat d'équipements plus avancés. Et ils ne sont pas idiots eux-mêmes et écrivent tous les logiciels en C et en assembleur.

- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Vous acceptez la politique du site Web et les conditions d'utilisation
Dans le cadre d'une tâche exigeant beaucoup de ressources, une question s'est posée : quel est le surcoût de l'utilisation de la POO par rapport à la programmation procédurale classique ?
Quelqu'un a-t-il effectué de tels tests ?
Je suis intéressé par la différence entre :