Tengo una pregunta para la que no soy capaz de encontrar la respuesta en la red ...¿Por qué la desasignación es lenta?
Tengo un conjunto declarado como esto:
set<unsigned int> MySet
Estoy insertando un millón de números aleatorios generados con Mersenne Twister . La generación aleatoria y la inserción son realmente rápidas (alrededor de un segundo para un millón de números), pero la desasignación es extremadamente lenta (1 minuto y medio).
¿Por qué la desasignación es tan lenta? No estoy usando ningún destructores personalizados para el conjunto.
No sé qué sistema operativo está utilizando, pero podría ser que la memoria se vuelva a compactar después de liberar cada fragmento. –
¿Ha compilado con las optimizaciones activadas? -O3 –
Windows 7x64. Compilando en Visual Studio 2010. ¿Hay alguna manera de acelerar la desasignación? –