Escribo un complemento para otro programa en C# .NET, y tengo problemas de rendimiento en los que los comandos tardan mucho más de lo normal. El complemento reacciona a los eventos en el programa host y también depende de los métodos de utilidad del SDK del programa host. Mi complemento tiene muchas funciones recursivas porque estoy leyendo y escribiendo mucho en una estructura de árbol. Además, tengo muchas suscripciones de eventos entre mi complemento y la aplicación host, así como también suscripciones de eventos entre clases en mi complemento.¿Cuál es la mejor manera de solucionar problemas de rendimiento?
¿Cómo puedo saber qué tarda tanto en completarse una tarea? No puedo usar la depuración regular del estilo de punto de interrupción, porque no es que no funcione, es solo que es demasiado lento. He configurado una clase estática de "LogWriter" a la que puedo hacer referencia de todas mis clases que me permitirá escribir líneas con marcas de tiempo en un archivo de registro de mi código. ¿Hay otra manera? ¿Visual Studio tiene algún tipo de registro con sello de tiempo que podría usar en su lugar? ¿Hay alguna manera de ver la pila de llamadas después de que la aplicación se haya cerrado?
Red Gate es un buen software. Su perfilador de rendimiento ANTS es uno de los mejores en mi opinión. Creo que puedes descargar una versión de prueba. La mayoría de las personas que compran la versión real después, así que ten cuidado :). – bastijn
El perfilador de Microsoft Well también es bueno, pero está incluido solo en los costosos paquetes de VS. – arbiter
Pulgares arriba para HORMIGAS de mí también, resolvió una gran pérdida de memoria para mí –