a- Est ce que crée des classes les détruire et appeler des fonctions membre de classe est plus lent qu'appeler des fonctions ?
c--Est ce que en réglant une fuite de mémoire j'ai rajouter des delete qui prennent beaucoup de temps ?
d-Est ce que c'est pas normal et que je devrais repenser la façon dont j'ai écris le code ?
a- Seulement si:
- tes objets ne vivent pas sur la pile, auquel cas tu peux payer une allocation dynamique que tu n'avais pas sinon
- tu t'es amusé à rajouter des virtual sans raison -- i.e. si tu n'avais pas de vrai point de variation à l'endroit des appels de fonctions virtuelles.
c- Si tu fais delete + new derrière en boucle ... tu pourrais consommer plus de temps que nécessaire.
P.ex., pour des tableaux, il peut être plus efficace de bosser avec un vecteur et de provoquer des resize(), plutôt que de reconstruire à chaque boucle.
d- Pour float vs double, je ne m'avancerai pas ; pour les options de compilation, j'imagine que tu utilises les mêmes partout ; l'utilisation des streams peut ralentir ; donc pour une simple conversion, il ne devrait pas y avoir d'impact.
A tout hasard, cf le TR on C++ performances (n18015) sur le site du comité de standardisation.
# Re:
Posté par lmg HS (site web personnel) . En réponse au message Classe / double et vitesse. Évalué à 1.
c--Est ce que en réglant une fuite de mémoire j'ai rajouter des delete qui prennent beaucoup de temps ?
d-Est ce que c'est pas normal et que je devrais repenser la façon dont j'ai écris le code ?
a- Seulement si:
- tes objets ne vivent pas sur la pile, auquel cas tu peux payer une allocation dynamique que tu n'avais pas sinon
- tu t'es amusé à rajouter des
virtualsans raison -- i.e. si tu n'avais pas de vrai point de variation à l'endroit des appels de fonctions virtuelles.c- Si tu fais delete + new derrière en boucle ... tu pourrais consommer plus de temps que nécessaire.
P.ex., pour des tableaux, il peut être plus efficace de bosser avec un vecteur et de provoquer des resize(), plutôt que de reconstruire à chaque boucle.
d- Pour float vs double, je ne m'avancerai pas ; pour les options de compilation, j'imagine que tu utilises les mêmes partout ; l'utilisation des streams peut ralentir ; donc pour une simple conversion, il ne devrait pas y avoir d'impact.
A tout hasard, cf le TR on C++ performances (n18015) sur le site du comité de standardisation.