• [^] # Re: works for me

    Posté par . En réponse à la dépêche Naissance d'un géant : Java. Évalué à -1.

    Quel est le cout d'un constructeur / destructeur pour un vecteur vide ? Si le cycle de vie de la structure est un probleme de performance, ca ne viendrait pas plutot de l'allocateur ?

    Ca depend du cas comme pour tout, si par defaut ton vecteur a une taille allouee de 10 objets (parce que dans le cas usuel ou le vecteur contient quelque chose il en a 10), ton constructeur va faire une allocation a chaque fois par exemple.
    Si ton vecteur est cree uniquement lorsque un objet va etre ajoute, ben tu sauves cette allocation pour tous les cas ou aucun objet n'est ajoute.

    En ce qui concerne la taille de la structure et les performances d'un allocateur "standard" par bloc, cela n'est pertinent que si tu alloue tes structures unitairement avec cet allocateur (un gros tableau de structures n'est pas concerné).Si tu as vraiment des problèmes de performance liées a ton allocateur, pourquoi ne pas en prendre un autre, puisque le langage le permet facilement ?

    Je vais te donner un tres bon exemple de pourquoi: L'allocateur standard dans Windows a tout un tas de features pour eviter qu'un buffer overflow dans la heap ne se transforme en vulnerabilite (c'est pas une garantie a 100% mais il rend la chose vraiment compliquee pour le hacker), je ne connais a peu pres aucun allocateur 'custom' qui a ces features.