Bonjour à tous,
Tout est dans le titre!
J'ai fait un allocateur linéaire pour optimisé les allocations mémoires.
Pour comparer les performances, je fais un benchmark sur 1 Go alloué via malloc, avec des insertions personnalisé (via "allocator") d'une classe de 28 octets pour 512Mo, soit 19173961 allocations.
Avec l'allocateur j'arrive à un résultat de 0.16 secondes pour toutes les allocations et pour le free de la mémoire.
A des fins de comparaison je fait la même chose avec 19173961 new qui me prends 0.91 secondes et autant de delete qui me prend.... bas je sais pas en faite.... au bout de 10 minutes j'étais même pas arrivé à 10 millions de delete et j'ai un bad_alloc sur après quelque Mo de new.
Mais ce comportement n'est que via Visual Studio. Lorsque je lance le programme hors Visual Studio, le tout ce fait en quelque secondes ( 1 à 2 secondes) sans aucune erreur.
Savez-vous pourquoi Visual Studio ralenti autant la gestion mémoire? sachant que je compare en Release.
Merci
Partager