Durante los últimos días obtuve información acerca de los asignadores de memoria que no sean el estándar malloc()
. Hay algunas implementaciones que parecen ser mucho mejores que malloc()
para aplicaciones con muchos subprocesos. Por ejemplo, parece que tcmalloc
y ptmalloc
tienen un mejor rendimiento.¿Cuál es la mejor solución para reemplazar un nuevo asignador de memoria en un código existente?
Tengo una aplicación C++ que utiliza los operadores malloc
y new
en muchos lugares. Pensé que sustituirlos por algo como ptmalloc
podría mejorar su rendimiento. Pero me pregunto cómo actúa el operador new
cuando se usa en la aplicación C++ que se ejecuta en Linux. ¿Utiliza el comportamiento estándar de malloc
o algo más?
¿Cuál es la mejor manera de reemplazar el asignador de memoria new
con el antiguo en el código? ¿Hay alguna forma de anular el comportamiento o new
y malloc
o necesito reemplazar todas las llamadas una por una?
¿Ha determinado que su programa dedica una cantidad significativa de tiempo a la gestión de la memoria? – rpg
Sí, seguro que sí. Ya me he asegurado de que –