Salut,
Je bloque en ce moment sur une question d'optimisation, et je n'ai trouvé la réponse nulle part ... peut être pourrez vous m'aider![]()
J'ai une std::multimap, qui stocke des paires <std::string, structure_quelconque>. La structure en question est un POD qui ne pose pas de problème de copie.
Pour optimiser le code, j'aurais voulu faire un reserve sur cette multimap dès de constructeur de mon objet, mais le problème c'est que ma paire n'a pas une taille fixe (à cause du string). Donc le reserve ne fait pas tout à fait son rôle, et il y a quand même des allocations quand j'utilise insert().
Je ne sais pas si j'ai été bien clair
Mais donc, l'idéal serait de reserver une taille par défaut aux strings de la map, par exemple (ne compile pas):
Pour que le reserve(10) puisse effectivement reserver assez de place pour insérer 10 paires sans faire d'allocation.
Code : Sélectionner tout - Visualiser dans une fenêtre à part multimap< string<16>, mastructure >
Vous en pensez quoi ?
Merci![]()
Partager