Necesito un generador de perfiles de C #.
Aunque no soy reacio a pagar por uno, algo que sea gratis o al menos con una versión de prueba sería ideal, ya que se necesita tiempo para generar una orden de compra.
¿Alguna recomendación?
Necesito un generador de perfiles de C #.
Aunque no soy reacio a pagar por uno, algo que sea gratis o al menos con una versión de prueba sería ideal, ya que se necesita tiempo para generar una orden de compra.
¿Alguna recomendación?
Respuestas:
Puedes probar lo siguiente:
Editar: Nprof ha sido reemplazado por SlimTune y funciona con aplicaciones .Net 4.0
Solía hormigas perfilador en un gran proyecto de C # hace un año y medio. Realmente funcionó muy bien por lo que costó, e incluso superó a algunos de los competidores más caros.
Calcula el costo con casi una resolución línea por línea.
El perfilador EQATEC es muy bueno y es completamente gratuito. Es fácil de configurar y usar, y no parece agregar demasiada sobrecarga a la aplicación. Recién comencé a usarlo hoy y ya he encontrado un par de cuellos de botella que no habría detectado de otra manera.
dotTrace de JetBrains se usa ampliamente.
El increíble NDepend de Patrick Smacchia es excelente para proporcionar análisis estático.
Mantengo una lista completa de perfiladores para .NET en SharpToolbox.com.
Allí encontrará las herramientas sugeridas aquí y más, cada una con una breve descripción de lo que propone.
Es interesante que nadie mencione que hay uno en las versiones de gama alta de Visual Studio; siempre he encontrado que es lo suficientemente bueno para la generación de perfiles de ejecución. Para la creación de perfiles de memoria, uso Memory Profiler, que ya se ha mencionado, pero no es lo que generalmente describiría como "un perfilador".
¿Qué tipo de elaboración de perfiles estaba intentando hacer?
Usamos el perfilador de hormigas donde trabajo. Da información muy detallada de forma sencilla.
Usamos .NET Memory Profiler . Es un poco feo pero muy útil para encontrar referencias colgantes.
Originalmente probé el generador de perfiles ANTS de Red Gate, que es muy sexy, pero desde el punto de vista de la pérdida de memoria, apesta por las siguientes razones:
1) Es ridículamente lento. Se tardó media hora en poner la aplicación en un estado para comenzar a grabar (toma 20 segundos sin puerta roja).
2) Red Gate necesita ejecutar su propia herramienta en su propia herramienta. ¡Estaba usando 900 MB de memoria cuando terminé dos instantáneas! Luego se estrelló :(
Sin embargo, el componente de sincronización de Red Gate ANTS fue impresionante. Simplemente no se moleste con el generador de perfiles de memoria, a menos que esté tratando con una aplicación trivial (de pequeño tamaño).
He usado AQtime y nunca me ha defraudado. Estoy seguro de que hay una versión de prueba.
Seré el perfilador ANTS del segundo Red Gate . Lo usé para rastrear algunos problemas de rendimiento realmente preocupantes y fue muy simple de usar (curva de aprendizaje baja) y presentó datos agradables y detallados de una manera fácil de entender. El precio vale la pena, pero no es gratis ...
El increíble NDepend de Patrick Smacchia es excelente para proporcionar análisis estático.
Recomendaría encarecidamente NDepend para el análisis estático, pero tenga en cuenta que probablemente tendrá que reservar uno o dos días para analizar realmente la gran cantidad de información que proporciona, así como averiguar qué significan todas las estadísticas en términos de tu codigo.
El generador de perfiles EQATEC hizo el trabajo aquí.
La versión actual de SharpDevelop (3.1.1) tiene un buen generador de perfiles integrado. Es bastante rápido y se integra muy bien en SharpDevelop IDE y su corredor NUnit. Los resultados se muestran en un estilo flexible de árbol / lista (use LINQ para crear su propia selección). Hacer doble clic en el método mostrado salta directamente al código fuente.
Actualmente no los utilizo, un amigo mío se entusiasma con el perfilador de hormigas. Sé que es un producto de pago, no estoy seguro de cuán caro. Si tiene un MVP como personal, es posible que pueda aprovecharlo para obtener una licencia gratis.
AQTime (tanto rendimiento como memoria) o ANTS (perfilador de rendimiento v4 o perfilador de memoria beta v5) aquí.
Encontré el .NET Memory Profiler ayer, y debo decir que estoy muy impresionado por él.
Voy a pedir mi licencia hoy.
Aunque no es muy bueno para perfilar el uso de la memoria, el generador de perfiles incluido en algunas versiones de Visual Studio hace un muy buen trabajo al perfilar la velocidad de ejecución.
Cual es tu objetivo?
¿Es su objetivo ubicar declaraciones específicas y tener una idea aproximada de lo que contribuyen a su tiempo total de ejecución, para que pueda encontrar formas de hacerlas de manera diferente?