Necesito ayuda con respecto al perfil del código existente en términos de tiempo de ejecución. La intención es acelerarlo.Creación de perfiles de un proyecto de C++ en términos de tiempo de ejecución
Me han dado un código que se trabajó en operaciones anteriores. Está completamente escrito en C++ con conceptos OO. Hay una interfaz basada en GUI, y la selección de una determinada opción ejecuta el tipo de código seleccionado. (Hay alrededor de 11 clases como parte del proyecto).
Quiero ser capaz de presionar una opción de interfaz gráfica de usuario y dejar correr el código y generar un mapa de recursos como:
Functions of Class 1 = 20% of execution time
Functions of Class 2 = 60% of execution time
Functions of Class 3 = 10% of execution time
Functions of Class 4 = 10% of execution time
De esa manera, sé qué clase está ocupando la mayor parte del tiempo y luego saber qué para trabajar y mejorar Sin embargo, no tengo idea de cómo hacer esto. Solo tengo conocimientos básicos de C++.
he leído este post: find c++ execution time, sin embargo, ya que el programa no es de serie. Una clase llama a otra, y eso llama a otra, no sé cómo se podrían implementar las marcas/reloj del sistema.
leí de programa como Valgrind, Zoom, etc. perfiles del hombre pobre, pero tienen ni idea de honestidad en la integración con el código. ¿Hay un método tan simple?
También leí este método: How can I profile C++ code running in Linux?, sin embargo no veo cómo podría conseguir información de patillas en punta como a la información basada en la clase (Clase 1, Clase 2, etc.)
Podría alguien por favor avise para una novato?
Usaría oprofile, que puede perfilar la ejecución de su programa sin tener que instrumentar su código con ganchos de perfiles http://oprofile.sourceforge.net/doc/overview.html#getting-started – TJD