Constructeur Optimisé

Constructeur Optimisé - C++ - Programmation

Marsh Posté le 10-12-2009 à 12:23:25    

Bonjour,
voici une classe.

Code :
  1. // exemple.hpp
  2. classe Exemple
  3. {
  4. public :
  5. double reel ;
  6. // . . .
  7. Exemple(double) ; // constructeur
  8. } ;


Code :
  1. // exemple.cpp
  2. Exemple::Exemple(double lambda)
  3. : reel(lambda)
  4. {
  5. // choix 1
  6. double gamma = labmda ;
  7. // choix 2
  8. double gamma = reel ;
  9. }


Je voudrais utiliser l'argument du constructeur, lambda pour faire d'autres trucs dans mon constructeur...
Est-il plus efficace d'utiliser labmda ou reel ?
ça peut sembler du chippotage dans ce cas simple avec des doubles, mais mon cas est plus compliqué, je l'ai simplifié pour bien poser ma question.

Reply

Marsh Posté le 10-12-2009 à 12:23:25   

Reply

Marsh Posté le 10-12-2009 à 12:59:15    

ca dépend de ce que tu fais avec tes données [:jagstang]
 
Et ca dépend aussi probablement de l'accès de ton compilo au code que tu utilises sur ces données dans cette unité de compilation.
 
En tout cas, sur un exemple aussi trivial que celui que tu présentes, m'est avis que ca ne changera rien du tout au code généré.
 


---------------
last.fm
Reply

Marsh Posté le 10-12-2009 à 14:17:22    

Imaginons que ce soit des quantités énormes de données... est-ce qu'il y a un intérêt à s'attarder là dessus ?
 

theshockwave a écrit :


Et ca dépend aussi probablement de l'accès de ton compilo au code que tu utilises sur ces données dans cette unité de compilation.


J'utilise le compilateur g++.

Reply

Marsh Posté le 10-12-2009 à 14:23:31    

que tu utilises G++ ou un autre, le ltcg va pas trop te sauver la vie. Si c'est du POD, et que tu appelles des fonctions dont le code est connu depuis ton unité (fonctions inlines notamment) et qui ne modifie pas ton instance, j'imagine qu'il doit pouvoir te générer le code qui utilise le bon ...
 
Mais bon, le problème principal, c'est que ca ne te changera pratiquement rien au final en terme de perfs. Si tes données sont énormes, le temps que tu vas éventuellement attendre pour qu'il finisse de les copier sera sans doute négligeable à côté. Bref, profile ton code et identifie la source de lenteur, si tu as déjà des soucis de perfs.


Message édité par theshockwave le 10-12-2009 à 14:24:22

---------------
last.fm
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed