Estoy desarrollando un software bastante grande en Android con un código nativo de registro, está funcionando pero tiene algunos problemas de rendimiento.Software Android NDK native c code profiling en teléfonos Android reales
Espero que pueda perfilar cada módulo (llamada de función) del software para ciclos de CPU, uso de memoria, etc., en varios teléfonos android reales. ¿Hay una biblioteca c simple para hacer eso?
Veo personas que usan oprofile, parece ser una exageración para mi caso, ya que es un generador de perfiles de sistema salvaje, y requiere reconstruir la imagen del kernel y del sistema.
Como tengo el código fuente completo de mi aplicación, todo lo que realmente necesito es una biblioteca c sencilla que pueda incrustar en mi código para hacer algunos perfiles mientras la aplicación ejecuta varios casos de prueba.
BTW, ¿cuál es la forma de Linux de hacer esto?
¿Se puede ejecutar la aplicación bajo un depurador? ¿Que puede interrumpir manualmente la pausa? Luego puede usar el método de pausa aleatoria para encontrar los problemas de rendimiento. http://stackoverflow.com/questions/375913/what-can-i-use-to-profile-c-code-in-linux/378024#378024 –
El soporte del depurador NDK solo está disponible en froyo, además de que podría usar un sistema sistémico si quiero ejecutar el perfil en varios teléfonos diferentes. – lennydizzy
** ndk-gdb ** está disponible, y debería poder darle un seguimiento de pila cuando lo ctrl-C. Esto no pretende medir el rendimiento. Se pretende encontrar el código para optimizar a fin de mejorar el rendimiento. La medición no encuentra problemas, pero encontrar y solucionar problemas mejora la medición, independientemente de la plataforma. (Sé que no es así como la gente suele pensar sobre esto, pero así es cómo hacer que el código se ejecute rápidamente). –