Necesito evaluar el tiempo que toma una función C++ en una serie de hipótesis sobre la eficiencia de la jerarquía de memoria (por ejemplo: tiempo cuando tenemos una caché, un caché o una página al leer una parte una matriz), así que me gustaría tener algunas bibliotecas que me permitan contar las fallas de falta/página de caché para poder generar automáticamente un resumen de rendimiento.Contando las fallas del caché programáticamente
Sé que hay algunas herramientas como cachegrind que proporcionan algunas estadísticas relacionadas sobre la ejecución de una aplicación determinada, pero me gustaría una biblioteca, como ya he dicho.
edición Ah, me olvidaba: estoy usando Linux y no estoy interesado en la portabilidad, es una cosa académica.
¡Cualquier sugerencia es bienvenida!
Se puede instrumentar el sistema operativo para ayudar a darle algo de esta información? En un moderno sistema multitarea preventiva con memoria virtual, es muy posible que el sistema operativo haga todo tipo de cosas locas en su aplicación sin su conocimiento ... –
No lo sé, estoy usando Linux. En cuanto a las fallas de página, sé que esas estadísticas son de poco interés debido a la forma en que los sistemas operativos modernos manejan la memoria, como usted dijo: de hecho, estoy mucho más interesado en fallas de caché L2, que creo que son mucho más independientes en el gestión del sistema operativo. – akappa