Taille par défaut d'1 string (pour 1 reserve efficace)
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 :wink:
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 ;) ):
Code:
multimap< string<16>, mastructure >
Pour que le reserve(10) puisse effectivement reserver assez de place pour insérer 10 paires sans faire d'allocation.
Vous en pensez quoi ?
Merci :)