Estamos usando JetBrains 'dotTrace. ¿Qué otras herramientas de creación de perfiles se pueden recomendar que sean mejores para perfilar aplicaciones C# Windows Forms?¿Mejor perfilador de rendimiento y memoria .NET?
Respuesta
No. He intentado prácticamente todos los perfiladores de .NET del mercado (ANTS, vTune, OptimizeIt, DevPartner, YourKit), y en mi opinión, dotTrace es lo mejor del lote. Es uno de los dos únicos perfiladores que he usado (el otro es YourKit) que tiene una sobrecarga lo suficientemente baja como para manejar una aplicación que requiere una gran cantidad de CPU.
Si y solo si su aplicación es relativamente ligera, podría recomendar ANTS Profiler. Sus estadísticas línea por línea a veces son bastante útiles, pero tienen un precio en la eficiencia del perfil.
Estaba usando ANTS en un optimizador que usa el procesador por completo y parecía funcionar bien. –
También me gusta mucho la serie dotTrace. Sin embargo, hay que tener en cuenta que produce tiempos muy imprecisos para todo lo relacionado con Linq-to-Sql (L2S) en el modo Tracing (para consultas compiladas y ordinarias). El modo de muestreo podría no tener ese problema, pero es mucho menos útil. La serie dotTrace 4 tenía el mismo problema en los beta tardíos. No sé si realmente arreglaron eso. Supongo que es un problema general con el código que depende en gran medida de los árboles de expresión. – skarmats
No quiere decir que los otros perfiladores no sufren de esto. Si recuerdo correctamente, el perfil de ANTS fue mejor en ese sentido, pero tiene una interfaz de usuario ineficiente/molesto en comparación con dotTrace. Probé otro producto, que también tuvo problemas con esto. No se puede recordar cuál es uno de los productos (anteriormente) más conocidos. De todos modos, es una molestia bastante grande, ya que no se pueden filtrar los métodos incorrectamente medidos y no se pueden poner los valores en proporción. – skarmats
Utilizamos DotTrace como usted, pero en el pasado utilizamos Ants Profiler por RedGate. También es una buena herramienta.
Ants Profiler acaba de lanzar la versión 4.
Lo usamos, y estamos muy contentos con él. Hay una prueba de 14 días para evaluar (como es cierto para la mayoría de las ofertas).
Para la creación de perfiles de memoria tiene tanto el perfilador CLR libre como el comercial .NET memory profiler. Ambos son excelentes, pero el último es un poco más pulido.
Estoy muy contento con RedGate ANTS. El único otro que probé fue el que viene con Visual Studio Team, y apesta.
Realmente prefiero el VS, me da más información que ANTS. Puede que prefiera el generador de perfiles ANTS, pero no estoy de acuerdo con que el VS sea una mierda. Funciona bien cuando sabes cómo usarlo. –
Red-gate es el mejor –
No más. Para el perfil de memoria, ahora recomiendo SciTech. Le da resúmenes de las pérdidas de memoria causadas por delegados parásitos/controladores de eventos y le advierte cuando los objetos se finalizan en lugar de eliminarse explícitamente. –
nProf es una buena herramienta si está buscando algo gratis. Es un poco quisquilloso en algunos puntos, y un poco problemático, pero si tienes un presupuesto ajustado, hará el trabajo.
¿Cómo se usa? ¿Dónde puedo encontrar documentación? – Germstorm
Parece que hace poco se ha respirado vida en nProf. Ha sido bastante estancado en los últimos años. Todavía no hay documentación. Creo que tu mejor opción es probarlo. Es un programa bastante delgado, sin muchas opciones. Básicamente, acaba de iniciar su programa desde el generador de perfiles y registra cuánto tiempo demora ejecutar cada método. Cuando termines de ejecutar tu programa, te da un total de cuánto tiempo pasaste en cada método. Lo mejor que puede hacer es recorrer las partes lentas de su aplicación, incluso una sola acción a la vez, y ver dónde está lenta. – Kibbee
Nos hemos llevado muy bien con AQTime. Lo mejor desde nuestro punto de vista es que también hace las partes no administradas de nuestro código.
No se ha mencionado aún, pero para el análisis de la memoria Windbg es lo más completo y de bajo nivel que se puede obtener. Usarlo en combinación con sos.dll es increíblemente poderoso, pero hay una curva de aprendizaje bastante empinada.
Sin embargo, es una herramienta gratuita, y el blog de Tess Ferrandez es un excelente lugar para comenzar. ANTS y otros perfiladores son mucho más amigables para el usuario, pero Windbg puede dividir y dividir el montón gestionado como ninguno en mi opinión.
He usado el EQATEC Profiler. Es gratis y es un generador de perfiles de código, no un generador de perfiles de memoria.
Es bastante básico, pero es mejor que nada si quieres un generador de perfiles gratuito. –
Para lectores nuevos; EQATEC Profiler se eliminará en diciembre de 2013 y será reemplazado por Telerik JustTrace no gratuito. – Polymorphix
Sitefinity me ha agriado bastante en cualquier cosa Telerik. – MrBoJangles
He estado usando el SlimTune gratuito desde su lanzamiento reciente. Aunque tiene una interfaz mínima, es muy fácil de usar y proporciona buenos diagnósticos que ya me han ayudado mucho. Actualmente es compatible con dos tipos de pantallas, una de las cuales es similar a nProf. Es del mismo desarrollador que SlimDX, por lo que espero que la herramienta sea aún mejor en el corto plazo.
EDITAR: Hasta donde yo sé, todavía no es compatible con perfiles de memoria.
Deberías echar un vistazo a SpeedTrace. Estamos satisfechos con el software y nos ayuda mucho a resolver las causas de mi problema.
- 1. Perfilador de memoria para .NET Compact Framework
- 2. ¿Hay un perfilador de memoria para python2.7?
- 3. ¿hay un perfilador CLR para .NET 4.0?
- 4. ¿Debo comprimir objetos C-en-memoria para un mejor rendimiento?
- 5. Perfilador decente para Windows?
- 6. ¿Cuánto miden exactamente los contadores de rendimiento .NET de la memoria .NET "Gen X Heap Size"?
- 7. Rendimiento LINQ en memoria
- 8. .NET Problemas de rendimiento OpenXML
- 9. cola de .NET rendimiento ElementAt
- 10. .NET Cronómetro - penalización de rendimiento
- 11. Archivos de memoria asignados .NET
- 12. ¿Hay un perfilador de CLR que funcione con .NET 3.5 SP1 y WPF?
- 13. "mejor" manera de comunicarse entre .NET 1.1 y .NET 3.5
- 14. 64bit .NET Ajuste de rendimiento
- 15. Con el mini perfilador
- 16. Ejecutando el perfilador en un agente de fondo
- 17. PHP matriz rendimiento - memoria sabia
- 18. .NET boxeo/unboxing vs rendimiento de conversión
- 19. Lista de .NET mejor enfoque
- 20. C++ Pautas de optimización de rendimiento/memoria
- 21. problemas de rendimiento con Ruby y transferencias Net :: SCP (enchufes):
- 22. Buscando un perfilador de C++ de bajo impacto
- 23. ¿Hay un registrador de rendimiento o perfilador de Java a largo plazo?
- 24. Recolector de elementos no utilizados .NET y memoria virtual x64
- 25. ¿Hay un perfilador visual para Python?
- 26. .net ¿ArrayList.Clear libera memoria?
- 27. ¿Cómo encontrar puntos calientes de rendimiento en la aplicación .Net?
- 28. '...! = Null' o 'null! = ....' mejor rendimiento?
- 29. Biblioteca matemática de alto rendimiento para .NET/C# y Java
- 30. Qué causa la fragmentación de la memoria en .NET
Es posible que desee probar nuestra nueva edición de comunidad [NProfiler] (https://www.nprofiler.com/) completamente gratis. – Tom