Pregunta

Necesito un generador de perfiles de C#.

Aunque no soy reacio a pagar por uno, algo que sea gratuito o al menos con una versión de prueba sería ideal, ya que lleva tiempo generar una orden de compra.

¿Alguna recomendación?

¿Fue útil?

Solución

Puedes probar lo siguiente:


Editar:Nprof ha sido reemplazado por SlimTune y funciona con aplicaciones .Net 4.0

Otros consejos

solía perfilador de hormigas 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 una resolución casi línea por línea.

El Perfilador EQATEC es muy bueno y es completamente gratis.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 encontré un par de cuellos de botella que de otra manera no habría detectado.

puntoTrace de JetBrains se utiliza ampliamente.

Patrick Smacchia es increíble. NDepende es excelente para proporcionar análisis estático.

Mantengo un completo lista de perfiladores para .NET en SharpToolbox.com.

Allí encontrarás las herramientas aquí sugeridas y más, cada una con una breve descripción de lo que propone.

Es interesante que nadie menciona que hay uno en las versiones de gama alta de Visual Studio; siempre he encontrado que es lo suficientemente bueno para la creación de perfiles de ejecución.Para crear perfiles de memoria utilizo Memory Profiler que ya se ha mencionado, pero no es lo que generalmente describiría como "un perfilador".

¿Qué tipo de perfil intentabas hacer?

Usamos perfilador de hormigas Donde yo trabajo.Proporciona información muy detallada de una manera sencilla.

Usamos Perfilador de memoria .NET.Es un poco feo pero muy útil para encontrar referencias pendientes.

Originalmente lo intenté Perfilador ANTS de Red Gate lo cual es muy atractivo, pero desde el punto de vista de la pérdida de memoria, apesta por las siguientes razones:

1) Es ridículamente lento.Me tomó media hora lograr que la aplicación estuviera en condiciones de comenzar a grabar (tarda 20 segundos sin puerta roja).

2) Red Gate necesita ejecutar su propia herramienta.¡Estaba usando 900 MB de memoria cuando terminé dos instantáneas!Luego falló :(

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 (que ocupa poco espacio).

He usado AQtime y nunca me ha defraudado.Estoy seguro de que hay una versión de prueba.

yo secundo Perfilador de HORMIGAS de Red Gate.Lo he usado para localizar 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 lo vale, pero no es gratis...

El increíble NDepend de Patrick Smacchia es excelente para proporcionar un análisis estático.

Recomendaría completamente NDepend para el análisis estático, pero tenga en cuenta que probablemente necesitará reservar uno o dos días para analizar la gran cantidad de información que proporciona, así como para determinar qué significan realmente todas las estadísticas en términos de tu codigo.

He tenido buena suerte con el perfilador de memoria .NET.

El perfilador EQATEC hizo el trabajo aquí.

La versión actual de SharpDevelop (3.1.1) Tiene un bonito perfilador integrado.Es bastante rápido y se integra muy bien en SharpDevelop IDE y su ejecutor NUnit.Los resultados se muestran en un estilo flexible de árbol/lista (use LINQ para crear su propia selección).Al hacer doble clic en el método mostrado se salta directamente al código fuente.

Actualmente no los uso, un amigo mío elogia el perfilador de hormigas.Sé que es un producto de pago, no estoy seguro de qué tan caro.Si cuenta con un MVP, es posible que pueda aprovecharlo para obtener una licencia de forma gratuita.

AQTime (tanto de rendimiento como de memoria) o ANTS (perfilador de rendimiento v4 o perfilador de memoria beta v5) aquí.

Encontré el Perfilador de memoria .NET ayer, y debo decir que estoy muy impresionado por ello.
Voy a pedir mi licencia hoy.

Aunque no es muy bueno para generar perfiles del uso de la memoria, el generador de perfiles incluido en algunas versiones de Visual Studio hace un muy buen trabajo al generar perfiles de velocidad de ejecución.

¿Cuál es tu objetivo?

¿Es su objetivo localizar declaraciones específicas y tener una idea aproximada de lo que contribuyen al tiempo total de ejecución, para poder encontrar formas de hacerlas de manera diferente?

Por eso, juro por este método.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top