-Est ce que crée des classes les détruire et appeler des fonctions membre de classe est plus lent qu'appeler des fonctions ?
Oui, tu a 5 appels de fonction au lieu de 1 (en supposant que tu voulais dire objet, pas classe) :
- malloc
- constructeur
- ta_fonction
- destructeur
- free
Si tu n'as pas de constructeurs / destructeurs spécifiques, activer les optimisations du compilateur peut te permettre de regagner la performance perdue.
-Est ce que travailler en double précision est plus lent
C'est imperceptible sur un x86.
-Est ce que en réglant une fuite de mémoire j'ai rajouter des delete qui prennent beaucoup de temps ?
C'est pas impossible, un delete appelle une fonction supplémentaire, le destructeur, appelé souvent ça peut devenir mesurable.
-Est ce que c'est pas normal et que je devrais repenser la façon dont j'ai écris le code ?
Essaie aussi de comparer les 2 codes avec des optimisations du compilateur. Il est possible que l'écart ne soit plus le même. Si tu est sur un x86 32 bits, tu peux aussi compiler avec -mfpmath=sse -sse2 pour gagner en perfs.
# Impact dans ...
Posté par peck (site web personnel) . En réponse au message Classe / double et vitesse. Évalué à 3.
-Est ce que crée des classes les détruire et appeler des fonctions membre de classe est plus lent qu'appeler des fonctions ?Oui, tu a 5 appels de fonction au lieu de 1 (en supposant que tu voulais dire objet, pas classe) :
- malloc
- constructeur
- ta_fonction
- destructeur
- free
Si tu n'as pas de constructeurs / destructeurs spécifiques, activer les optimisations du compilateur peut te permettre de regagner la performance perdue.
-Est ce que travailler en double précision est plus lentC'est imperceptible sur un x86.
-Est ce que en réglant une fuite de mémoire j'ai rajouter des delete qui prennent beaucoup de temps ?C'est pas impossible, un delete appelle une fonction supplémentaire, le destructeur, appelé souvent ça peut devenir mesurable.
-Est ce que c'est pas normal et que je devrais repenser la façon dont j'ai écris le code ?Essaie aussi de comparer les 2 codes avec des optimisations du compilateur. Il est possible que l'écart ne soit plus le même. Si tu est sur un x86 32 bits, tu peux aussi compiler avec -mfpmath=sse -sse2 pour gagner en perfs.