2012-01-12 13 views
5

Probamos las opciones de perfil de gcc en una unidad de audio que compilamos bajo gcc4.2/MacOS. (Técnicamente es una biblioteca). El problema es que no tenemos control sobre el ejecutable que está cargando la biblioteca. Ergo, solo podemos vincular la biblioteca con la opción de creación de perfiles, pero no el ejecutable.Optimización guiada de perfil GCC con biblioteca compartida sin control sobre ejecutable

¿Cómo (en todo caso) podemos utilizar la optimización guiada por perfil en estas circunstancias?

¡Salud!

+1

Creo que no tiene suerte. Es posible que pueda hacer que una rutina de inicialización en su biblioteca active el perfil, en cuyo caso, no obtendrá perfiles para el código antes de que se cargue la biblioteca. Pero dado que el ejecutable no está preparado para la creación de perfiles, lo más probable es que no genere información muy útil. Puede producir información útil sobre su código de biblioteca, pero no me gustaría confiar en él. –

Respuesta

1

¿No puedes escribir un archivo ejecutable personalizado para cargar (y probar) la biblioteca? Eso estaría bajo su control y podría construirse con perfiles.

+0

Sí, pero la API que necesitábamos llamar es algo complicada. Podríamos ir por esta ruta en algún momento, pero primero necesito convencer a alguien de que las pruebas unitarias son algo bueno ;-) – clemens

Cuestiones relacionadas