374 votos

¿Cuáles Son Algunas Buenas .NET los Perfiladores?

Lo perfiladores se han utilizado cuando se trabaja con .net programas, y que le recomendamos especialmente?

285voto

Matt Howells Puntos 20751

He utilizado JetBrains dotTrace y Redgate HORMIGAS ampliamente. Son bastante similares en características y precio. Ambos ofrecen útiles creación de perfiles de rendimiento y muy básico de creación de perfiles de memoria.

dotTrace se integra con Resharper, lo cual es muy conveniente, como se puede perfilar el rendimiento de una unidad de prueba con un solo clic desde el IDE. Sin embargo, dotTrace a menudo parece dar resultados incorrectos (por ej. decir que un método tomó varios años para que se ejecute)

Yo prefiero la forma en que las HORMIGAS presenta los resultados de perfiles. Se muestra el código fuente y a la izquierda de cada línea nos dice cuánto tiempo tomó para que se ejecute. dotTrace sólo tiene una vista de árbol.

EQATEC profiler es bastante básico y requiere de la compilación especial instrumentados versiones de sus asambleas en las que se puede ejecutar en los EQATEC profiler. Es, sin embargo, gratis.

En general yo prefiero las HORMIGAS para la creación de perfiles de rendimiento, aunque si el uso de Resharper, a continuación, la integración de dotTrace es un asesino y la característica significa que sea mejor que las HORMIGAS en la usabilidad.

El servicio gratuito de Microsoft CLR Profiler (.Net framework 2.0 / .Net Framework 4.0) es todo lo que necesita para .NET creación de perfiles de memoria.

Actualización de 2011:

El Scitech la memoria del analizador tiene una interfaz de usuario básica, pero un montón de información útil, incluyendo algunos de la información en la memoria no administrada que dotTrace y las HORMIGAS falta - podría serle útil si usted está haciendo la interoperabilidad COM, pero todavía tengo que encontrar cualquier analizador de que hace COM problemas de memoria es fácil de diagnosticar - generalmente usted tiene que romper windbg.exe.

Las HORMIGAS profiler ha avanzado a pasos agigantados en los últimos años, y en su memoria del analizador tiene algunas realmente útiles características que ahora empujado por delante de dotTrace como un paquete en mi estimación. Tengo la suerte de tener licencias para ambos, pero si vas a comprar uno .Net el analizador de rendimiento y memoria, hacen las HORMIGAS.

88voto

Ben Robbins Puntos 1894

Otros han cubierto la creación de perfiles de rendimiento, pero con lo que respecta a la creación de perfiles de memoria Actualmente estoy evaluando tanto el Scitech .NET la Memoria del Analizador 3.1 y las HORMIGAS de la Memoria del Analizador 5.1 (versiones actuales de septiembre de 2009). He probado el JetBrains uno o dos años, y no fue tan buena como la de las HORMIGAS (para la creación de perfiles de memoria) así que no me he molestado en este momento. De la lectura de los sitios web que parece que no tiene la misma memoria de generación de perfiles de características como las otras dos.

Tanto las HORMIGAS y el Scitech la memoria del analizador tienen características que los demás no, así que es mejor dependerá de sus preferencias. Generalmente hablando, el Scitech proporciona una información más detallada, mientras que la de las HORMIGAS es realmente increíble a la identificación de las fugas de objeto. En general, prefiero las HORMIGAS, porque es tan rápido en la identificación de posibles fugas.

Estos son los principales de los pros y los contras de cada uno de los de mi experiencia:

Características comunes de las HORMIGAS y Scitech .NET la Memoria del Analizador

  • Análisis en tiempo Real de la característica
  • Excelente cómo-a los vídeos en sus sitios web
  • Fácil de usar
  • Razonablemente eficiente (obviamente más lento que sin el analizador conectado, pero no tanto que se frustran)
  • Mostrar casos de fugas de objetos
  • Básicamente, ambos hacen el trabajo bastante bien

Las HORMIGAS

  • Un clic en filtros para encontrar fugas comunes incluyen: los objetos se mantienen vivos solo por controladores de eventos, objetos que se desechan, pero aún vivo y objetos que sólo se mantiene viva por una referencia de un eliminados objeto. Este es probablemente el asesino en función de las HORMIGAS - la búsqueda de fugas es muy rápido debido a esto. En mi experiencia, la mayoría de las fugas son causados por controladores de eventos no se desenganchó y las HORMIGAS sólo te lleva directamente a estos objetos. Impresionante.
  • Objeto gráfico de retención. Mientras el mismo está disponible la información en el Scitech, es mucho más fácil de interpretar en las HORMIGAS.
  • Muestra el tamaño con niños, además de que el tamaño del objeto en sí mismo (pero sólo cuando se ha seleccionado una instancia por desgracia, no en el total de la lista de clase).
  • Mejor integración a Visual Studio (haga clic sobre la imagen para saltar a archivo)

Scitech .NET la Memoria del Analizador

  • Muestra el seguimiento de la pila cuando el objeto fue asignada. Esto es realmente útil para los objetos que son asignados en un montón de lugares diferentes. Con las HORMIGAS es difícil determinar exactamente el lugar donde se filtró objeto fue creado.
  • Muestra el recuento de los objetos que no estaban dispuestos. Aunque no es indicativo de una fuga, identifica oportunidades para solucionar este problema y mejorar el rendimiento de la aplicación como resultado de la aceleración de la recolección de basura.
  • Más detallada de las opciones de filtrado (varias columnas se puede filtrar de forma independiente).
  • Presenta información sobre el total de los objetos creados (incluyendo aquellos en el recolector de basura). Las HORMIGAS sólo muestra " en vivo " el objeto de estadísticas. Esto hace que sea más fácil de analizar y ajustar el rendimiento de la aplicación (ej. identificar donde un montón de objetos se crean innecesariamente que no necesariamente son fugas).

A modo de resumen, creo que las HORMIGAS te ayuda a encontrar lo de la fuga de más rápido mientras Scitech proporciona un poco más de detalle acerca de su aplicación en general el rendimiento de la memoria y los objetos individuales una vez que usted sabe qué buscar por (ej. seguimiento de la pila en la creación). Si la traza de la pila y el seguimiento de undisposed desechables objetos se añadió a las HORMIGAS que no me vea en la necesidad de usar otra cosa.

45voto

TrolleFar Puntos 725

Recientemente he descubierto EQATEC Profiler http://www.eqatec.com/tools/profiler. Funciona con la mayoría de .NET versiones y en un montón de plataformas. Es fácil de usar y partes de ella es libre, incluso para uso comercial.

31voto

Todd Puntos 3522

[La Divulgación Completa]

Aunque todavía no tan completa como la de las otras .NET la memoria de los perfiladores de los aquí enumerados, hay una nueva entrada en el mercado llamado JustTrace. Está hecho por Telerik y el objetivo principal es hacer el seguimiento/perfiles más fácil y más rápido para todos los tipos de aplicaciones (web/Silverlight/escritorio).

Si alguna vez te has encontrado perfiles y optimización de intimidar o lento con otras herramientas, a continuación, JustTrace podría ser digno de una mirada.

25voto

Greg Hurlman Puntos 10944

No olvides nProf - perfectamente bien, freeware profiler.

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X