Esta es una lista de herramientas de análisis de rendimiento para su uso en el desarrollo de software .
Propósito general, independiente del lenguaje.
Las siguientes herramientas funcionan en función de archivos de registro que se pueden generar desde varios sistemas.
- tiempo (Unix) : se puede utilizar para determinar el tiempo de ejecución de un programa, contando por separado el tiempo del usuario frente al tiempo del sistema, y el tiempo de la CPU frente al tiempo del reloj. [1]
- timem (Unix): se puede utilizar para determinar la hora del reloj, el tiempo de la CPU y la utilización de la CPU de forma similar a time (Unix), pero admite numerosas extensiones.
- Admite informes sobre el tamaño máximo del conjunto residente , errores de página mayores y menores, prioridades y cambios de contexto voluntarios a través de getrusage.
- Admite procesos de muestreo en sistemas de soporte para informar métricas como el tamaño del conjunto residente basado en páginas , el tamaño de la memoria virtual, los bytes de lectura y los bytes de escritura, etc.
- Admite la recopilación de contadores de hardware cuando se crea con soporte PAPI .
Varios idiomas
Las siguientes herramientas funcionan para múltiples idiomas o binarios.
C y C++
- Arm MAP , un generador de perfiles de rendimiento compatible con plataformas Linux.
- AppDynamics , una solución de gestión del rendimiento de aplicaciones [ palabra de moda ] para aplicaciones C/C++ a través de SDK.
- AQtime Pro , un generador de perfiles de rendimiento y depurador de asignación de memoria que se puede integrar en Microsoft Visual Studio y Embarcadero RAD Studio, o puede ejecutarse como una aplicación independiente.
- IBM Rational Purify era un depurador de memoria que permitía el análisis del rendimiento.
- Los instrumentos (incluidos con Xcode) se utilizan para perfilar las asignaciones de memoria de un ejecutable, el uso del tiempo, la actividad del sistema de archivos, la actividad de la GPU, etc.
- Intel Parallel Studio contiene Intel VTune Amplifier, que optimiza programas tanto en serie como en paralelo. También incluye Intel Advisor e Intel Inspector. Intel Advisor optimiza la vectorización (uso de instrucciones SIMD) y crea prototipos de implementaciones de subprocesos. Intel Inspector detecta y depura errores de memoria, bloqueos y carreras.
- Parasoft Insure++ proporciona una herramienta gráfica que muestra y anima las asignaciones de memoria en tiempo real para exponer sobrecargas de memoria, fragmentación, uso excesivo, cuellos de botella y fugas.
- Visual Studio Team System Profiler , generador de perfiles comercial de Microsoft.
Java
- inspectIT es una solución de gestión del rendimiento de aplicaciones (APM) de código abierto [ palabra de moda ] para supervisar y analizar aplicaciones de software, disponible bajo la Licencia Apache , Versión 2.0 (ALv2).
- JConsole es el generador de perfiles que viene con el kit de desarrollo de Java
- Perfilador J
- JRockit Mission Control , un generador de perfiles con bajos costos operativos.
- Netbeans Profiler , un generador de perfiles integrado en el IDE de NetBeans (internamente utiliza el generador de perfiles jvisualvm)
- Plumbr , monitoreo del rendimiento de aplicaciones Java con detección automática de la causa raíz. Vincula las fugas de memoria, la ineficiencia de GC, las llamadas lentas a bases de datos y servicios web externos, los subprocesos bloqueados y otros problemas de rendimiento con la línea del código fuente que los causa.
- OverOps , confiabilidad continua para la cadena de suministro de software moderna, detecta y entrega automáticamente automatización de la causa raíz de todos los errores.
- VisualVM es una herramienta visual que integra varias herramientas JDK de línea de comandos y capacidades de creación de perfiles livianas. Se incluye con el kit de desarrollo de Java desde la versión 6, actualización 7.
- FusionReactor , monitoreo del rendimiento de aplicaciones Java: herramientas de producción con bajo consumo de recursos para depuración de producción, creación de perfiles de código, análisis de memoria y subprocesos
JavaScript
- Las herramientas para desarrolladores del navegador web Firefox contienen una herramienta de rendimiento que brinda información sobre el rendimiento de JavaScript de un sitio web. [2]
- Microsoft Visual Studio AJAX Profiling Extensions es una herramienta de creación de perfiles gratuita para JavaScript de Microsoft Research .
.NETO
- CLR Profiler es un perfilador de memoria gratuito proporcionado por Microsoft para aplicaciones CLR .
- GlowCode es un generador de perfiles de rendimiento y memoria para aplicaciones .NET que utilizan C# y otros lenguajes .NET. Identifica funciones que consumen mucho tiempo y detecta errores y pérdidas de memoria en aplicaciones nativas, administradas y mixtas de Windows x64 y x86.
- Estudio visual
PHP
- BlackFire.io
- Dbg
- Xdebug es una extensión de PHP que proporciona capacidades de depuración y creación de perfiles.
Véase también
- Análisis de rendimiento
- Depurador de memoria (incluye lista de generadores de perfiles de memoria)
Referencias
- ^ "CodeXL". Archivado desde el original el 19 de septiembre de 2013. Consultado el 26 de septiembre de 2013 .
- ^ "Rendimiento - Herramientas para desarrolladores de Firefox | MDN". Documentos web de MDN . Consultado el 27 de octubre de 2021 .
Enlaces externos
- Herramientas de análisis de rendimiento, artículo del Laboratorio Nacional Lawrence Livermore