es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puedo perfilar una función MEX escrita utilizando el editor de MATLAB y compilada usando GCC?

Me gustaría perfilar una función mex que he escrito en el editor de Matlab (2021a). Lo mejor que puedo hacer en este momento es utilizar las funciones tic y toc de Matlab para medir el tiempo total de ejecución, pero no sé cómo utilizar herramientas diagnósticas más detalladas para evaluar el rendimiento del código. He encontrado otras preguntas y respuestas que tratan este problema utilizando Visual Studio, pero las respuestas parecen usar versiones antiguas de Visual Studio en lugar de la versión actual que tengo, que es la de 2019. Además, no estoy muy familiarizado con Visual Studio, así que no estoy seguro de dónde encontrar algunas de las herramientas que mencionan, que aparentemente han sido movidas de su ubicación en versiones anteriores.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para perfilar una función mex en el editor de MATLAB, puedes utilizar una herramienta llamada “Mex Profiler” que está incorporada en MATLAB. Esta herramienta te permite medir los tiempos de ejecución de partes específicas de tu código, además de proporcionar información sobre el uso de memoria y fugas de memoria.

    Para utilizar el Mex Profiler, primero necesitas compilar tu función mex con símbolos de depuración utilizando la bandera -g. Una vez que hayas hecho esto, puedes ejecutar tu función mex con la opción -profile, que le indica a MATLAB que inicie el Mex Profiler.

    Cuando ejecutas el Mex Profiler, verás una tabla que lista todas las funciones que se llamaron durante la ejecución de tu función mex, junto con la cantidad de tiempo que tomó cada función en ejecutarse. Puedes ordenar esta tabla según varios criterios, como el número de veces que se llamó cada función o el porcentaje del tiempo total de ejecución que se gastó en cada función.

    Además de las capacidades de perfilado incorporadas en MATLAB, también puedes utilizar herramientas externas de perfilado como Visual Studio para analizar tu función mex. Sin embargo, esto puede requerir alguna configuración adicional y familiaridad con Visual Studio.

    Si decides utilizar Visual Studio, puedes seguir las recomendaciones proporcionadas en los enlaces que encontraste en Stack Overflow. Ten en cuenta que algunas de las herramientas mencionadas en esas respuestas pueden haber sido movidas o actualizadas en versiones más recientes de Visual Studio, por lo que es posible que necesites consultar la documentación específica para tu versión.

Comments are closed.