Lista de herramientas de análisis de rendimiento

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar
Esta es una lista de herramientas de análisis de rendimiento para su uso en el desarrollo de software.

Objetivo general, idioma independiente

Las siguientes herramientas funcionan con archivos de registro generados por varios sistemas.
  • tiempo (Unix) - se puede utilizar para determinar el tiempo de ejecución de un programa, contando por separado tiempo de usuario vs. tiempo del sistema, y tiempo de CPU vs. hora del reloj.
  • timem (Unix) - se puede utilizar para determinar el tiempo de pared, tiempo de CPU y utilización de CPU similar al tiempo (Unix) pero admite numerosas extensiones.
    • Soporta reportar el tamaño máximo de conjunto residente, fallas importantes y menores de página, interruptores prioritarios y de contexto voluntario a través de la getrusage.
    • Apoya el muestreo procfs en sistemas de soporte para reportar métricas como el tamaño de conjunto residente basado en la página, tamaño de memoria virtual, lectura-bytes y escritura-bytes, etc.
    • Admite la recogida de contadores de hardware cuando se construye con soporte PAPI.

Idiomas múltiples

Las siguientes herramientas funcionan con varios idiomas o binarios.
Name/manufacturer OS Compilador/idioma Lo que hace Licencia
AppDynamics by Cisco Linux, Windows, iOS, Android, Azure, AWS, AIX .NET, Java, PHP, HTML5, ObjectiveC/iOS, Java/Android, C/C+++, Apache, Nginx, Cassandra, DataBases Ver Gestión de Desempeño de Aplicaciones. Propietario
Administrador de aplicaciones por ManageEngine Linux, Windows Java, PHP, Ruby,.NET,.NET Core, Node.js. Ver Gestión de Desempeño de Aplicaciones. Propietario
AQtime by SmartBear Software Windows .NET 1.0 a 4.0 aplicaciones (incluyendo aplicaciones ASP.NET), aplicaciones Silverlight 4.0, aplicaciones Windows 32- y 64-bit incluyendo C, C++, Delphi para Win32 y funciones VBScript y JScript Perfilador de rendimiento y herramientas de depuración de memoria/recurso. Propietario
Arm MAP Linux C, C++, aplicaciones Fortran/Fortran90 y Python. Perfil de rendimiento. Muestra I/O, comunicación, uso de operación de punto flotante y costos de acceso a la memoria.

Soporta aplicaciones multi-treaded y multiprocess - como aquellas con paralelismo MPI o OpenMP y escalas a conteos de nodos muy altos.

Propietario
CodeAnalyst by AMD Linux, Windows C, C++, Objetivo C.NET, Java (trabajos a nivel ejecutable) AMD uProf supera CodeAnalyst y CodeXL para CPU y Power profiling en procesadores AMD.

Perfilador de código basado en GUI; sólo profiling basado en timer básico en procesadores Intel. Basado en OProfile.

Fuente libre/abierto (GPL) o propietario
AMD CodeXL by AMD Linux, Windows Para perfiles y depuración de GPU: OpenCL. Una suite de herramientas para perfiles GPU, depurador GPU y un analizador de núcleo estático. Fuente libre/abierto (MIT)
AMD uProf por AMD Linux, Windows C, C++,.NET, Java, Fortran Perfilador de código, muestra perfiles basados en procesadores AMD. Propietario
DevPartner por Borland / Micro Focus . NET, Java Prueba suite que detecta y diagnostica automáticamente defectos de software y problemas de rendimiento. Propietario
DTrace by Sun Microsystems Solaris, Linux, BSD, macOS Marco de rastreo dinámico completo para solucionar problemas de núcleo y problemas de aplicación en sistemas de producción en tiempo real. Fuente libre/abierto (CDDL)
dynamoRIO por RIO Linux, Windows Marco dinámico de instrumentación binaria para el desarrollo de herramientas dinámicas de análisis de programas. Fuente libre/abierto - BSD
Dynatrace Linux, Windows, iOS, Android, Azure, AWS, AIX, Solaris, HP/UX, zOS, zLinux .NET, Java, PHP, HTML5, Ajax (para sitios web), Objective-C/iOS, Java/Android, C/C++, CICS, Apache, Nginx, Cassandra, Hadoop, Mongo DB, HBase Ver Gestión de Desempeño de Aplicaciones. Propietario
Extrae Linux, Android Principalmente C/C++/Fortran, pero puede perfilar cualquier aplicación que vincule con bibliotecas paralelas soportadas (por ejemplo, MPI4PY) Herramienta de análisis de rendimiento de HPC con visor y utilidades de apoyo. Diseñado principalmente para aplicaciones paralelas con soporte para MPI, OpenMP, CUDA, OpenCL, pthreads y OmpSs. Otras características incluyen el rastreo de funciones del usuario y la captura de eventos de hardware a través de PAPI. Fuente libre/abierto - LGPL-2.1
FusionReactor Linux, Windows, macOS, AWS, Azure, Google Cloud Java, ColdFusion, Apache, MongoDB Funciona con cualquier idioma apoyado por el JVM Realiza la gestión de la aplicación y el rendimiento y el análisis de la causa raíz. Combina APM y Low Level Developer Style Tooling; también incluye un depurador y perfiles Java, memoria, hilo y CPU. Propietario
GlowCode por Electric Software, Inc. Windows Aplicaciones de 64 bits y 32 bits, C, C++,.NET y dlls generados por cualquier compilador de idiomas. Perfilador de rendimiento y memoria que identifica funciones intensivas en el tiempo y detecta fugas de memoria y errores. Propietario
gprof Linux/Unix Cualquier idioma apoyado por gcc Varias herramientas con muestreo combinado y perfiles de gráficos de llamada. Un conjunto de herramientas de visualización, herramientas VCG, utiliza la interfaz de dibujo de gráficos de llamada (CGDI) para interactuar con gprof. Otra herramienta de visualización que interfiere con gprof es KProf. Fuente libre/abierto - versión BSD es parte de 4.2BSD y GNU versión es parte de GNU Binutils (por GNU Project)
HWPMC FreeBSD 6.0+ Marco de control del rendimiento de los equipos de contabilidad y muestreo a nivel de sistema y de proceso que apoya múltiples arquitecturas. BSD
Instana Linux, Windows, iOS, Android, Azure, AWS, AIX, Solaris, HP/UX, zOS, zLinux .NET,.Net core, Java, PHP, Ruby, Python, Crystal, Scala, Kotlin, Clojure, Haskell, Node.js, Web Browser, Apache, Nginx, Cassandra, Hadoop, Mongo DB, Elasticsearch, Kafka Ver Gestión de Desempeño de Aplicaciones. Propietario
Instrumentos con código X macOS C, C++, Objective-C/C++, Swift, Aplicaciones de Cocoa. Los instrumentos muestran una línea de tiempo que muestra cualquier evento que ocurra en la aplicación, como la variación de actividad de CPU, la asignación de memoria y la actividad de red y archivo, junto con gráficos y estadísticas.

Grupo de eventos son supervisados seleccionando instrumentos específicos de: Actividad de archivo, Asignaciones de memoria, Perfilador de tiempo, actividad de GPU, etc. Para el impacto amplio del sistema del ejecutable: Trace de sistema, uso de sistemas, uso de redes, registro de energía, etc. son útiles.

Libre. Equipado con Xcode, que también es gratuito.
Intel Advisor Linux y Windows. Visor sólo en macOS. C, C++, Paráleo de datos C++ y Fortran Una colección de herramientas de diseño y análisis - optimización de vectorización (SIMD), prototipado de hilos, análisis automatizado de tejado, modelado de descarga y análisis de gráficos de flujo Freeware y Propietario. Disponible como parte de Intel oneAPI Base Toolkit.
Linux Trace Toolkit (LTT) Linux Requiere kernel parche Recoge datos sobre procesos de bloqueo, conmutadores de contexto y tiempo de ejecución. Esto ayuda a identificar problemas de rendimiento en múltiples procesos o hilos. Superada por LTTng. GPL
LTTng (Linux Trace Toolkit Next Generation) Linux Paquete de software para el rastreo correlativo del núcleo, aplicaciones y bibliotecas. GPL/LGPL/MIT
OProfile Linux Perfiles todo lo que se ejecuta en el sistema Linux, incluyendo programas duros de perfil, como controladores de interrupción y el propio núcleo. Perfilador de muestreo para Linux que cuenta faltas de caché, puestos, fetches de memoria, etc. Fuente abierta GPLv2
Analizador de rendimiento Oracle Solaris Studio Linux, Solaris C, C++, Fortran, Java; MPI Perfil de rendimiento y memoria. Librería apropiada
perf tools Linux kernel 2.6.31+ Perfilador de muestreo con soporte de eventos de hardware en varias arquitecturas. GPL
Performance Application Programming Interface (PAPI) Varios Biblioteca para contadores de rendimiento de hardware en microprocesadores modernos.
Pin by Intel Linux, Windows, macOS, Android Sistema dinámico de instrumentación binaria que permite a los usuarios crear herramientas de análisis de programas personalizados. Propietario pero gratuito para uso no comercial
PurifyPlus Racional AIX, Linux, Solaris, Windows Herramienta de perfil de rendimiento, depurador de memoria y herramienta de cobertura de código. Propietario
Scalasca Linux C/C++, Fortran Analizador de trazas paralelo. Fuente libre/abierto (licencia BSD)
Tiburón de Apple macOS (continúa con 10.7) Analizador de rendimiento. Librería apropiada
Superluminal Windows, Xbox One, PlayStation C++, Rust,.NET Perfilador de rendimiento (sampled o instrumented) y analizador, centrado en el desarrollo del juego. Propietario
Systemtap Linux Herramienta de rastreo/probación del sistema programable; puede ser scriptada para generar perfiles de contador de tiempo o rendimiento o basados en funciones del núcleo y/o su espacio de usuario. Fuente abierta
Valgrind Linux, macOS, Solaris, Android Cualquiera, incluido el ensamblador Sistema de depuración y profilado; soporta herramientas para detectar errores de gestión de memoria y de rosca, o rendimiento de perfil (cachegrind y callgrind). KCacheGrind, valkyrie and alleyoop are front-ends for valgrind. Fuente libre/abierto (GPL)
VTune Profiler by Intel

Corporation (anmplificador VTune anterior)

Linux, Windows, sólo para macOS C, C++, C#, Data Parallel C++ (DPC++), Fortran,.NET, Java, Python, Go, ASM Asamblea General A collection of profiling analyses implemented with sampling, instrumentation and processor trace technologies. Incluye análisis Hotspot, Threading, HPC, I/O, FPGA, GPU, System, Throttling y Microarchitecture. Freeware y Propietario. También está disponible como parte de la herramienta base Intel oneAPI.
Análisis de rendimiento de Windows Toolkit por Microsoft Windows, Linux, Android Primaria de todo el sistema Herramienta de análisis de rendimiento de Windows, incluyendo muestreo de CPU, programación de CPU, disco y todo. Puede abrir los rastros de muestreo LTTng y Perf Cpu, así como los rastros de Android Perfetto a través de plugins Software gratuito con Linux / Android Open Source plugins
RotateRight Zoom Linux, macOS, Visor Sólo para Windows Apoya los idiomas más compilados en procesadores ARM y x86. Perfilador estadístico gráfico y de línea de comandos (basado en eventos).
VisualSim Linux, macOS, Microsoft Windows Supports C/C++/SystemC Plataforma de modelado gráfico y simulación para seleccionar, analizar y validar la arquitectura de sistemas electrónicos complejos para el rendimiento, potencia y fiabilidad. Propietario

C y C++

  • Arm MAP, un perfilador de rendimiento que soporta plataformas Linux.
  • AppDynamics, una solución de gestión del rendimiento de aplicaciones para aplicaciones C/C++ a través de SDK.
  • AQtime Pro, un depurador de perfiles de rendimiento y asignación de memoria que se puede integrar en Microsoft Visual Studio, y Embarcadero RAD Studio, o puede funcionar como una aplicación independiente.
  • IBM Rational Purify fue un depurador de memoria que permite el análisis de rendimiento.
  • Los instrumentos (abundados 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 GPU, etc.
  • Intel Parallel Studio contiene Amplificador Intel VTune, que sintoniza programas tanto en serie como en paralelo. También incluye a Intel Advisor e Intel Inspector. Intel Advisor optimiza la vectorización (utilización de instrucciones SIMD) y prototipos implementaciones de rosca. Intel Inspector detecta y depura razas, bloqueos y errores de memoria.
  • Parasoft Insure++ ofrece una herramienta gráfica que muestra y anima las asignaciones de memoria en tiempo real para exponer el soplo de memoria, fragmentación, uso excesivo, cuellos de botella y fugas.
  • Visual Studio Team System Profiler, perfilador comercial de Microsoft.

Java

  • Inspección IT es una solución de gestión de aplicaciones de código abierto (APM) para monitorear y analizar aplicaciones de software, disponible bajo la Licencia Apache, versión 2.0 (ALv2).
  • JConsole es el perfilador que viene con el kit de desarrollo Java
  • JProfiler
  • Control de Misión JRockit, un perfilador con baja sobrecarga.
  • Netbeans Profiler, un perfilador integrado en el NetBeans IDE (utiliza internally jvisualvm profiler)
  • Plumbr, control de rendimiento de aplicaciones Java con detección automática de causas raíz. Enlaces filtraciones de memoria, ineficiencia GC, lenta base de datos y llamadas de servicio web externas, hilos cerrados y otros problemas de rendimiento a la línea en código fuente que los causa.
  • OverOps, Confiabilidad continua para la cadena de suministro de software moderna, detecta y entrega automáticamente la automatización de causas raíz para todos los errores.
  • VisualVM es una herramienta visual que integra varias herramientas JDK de línea de comandos y capacidades de perfilado ligero. Está incluido con el Kit de Desarrollo Java desde la versión 6, actualización 7.
  • FusionReactor, Control de rendimiento de aplicaciones Java - herramientas de baja sobrecarga, grado de producción para depuración de la producción, perfilado de códigos, memoria y análisis de hilos

JavaScript

  • Las herramientas del desarrollador del navegador web de Firefox contienen una herramienta de rendimiento, lo que proporciona información sobre el rendimiento de JavaScript de un sitio web.
  • Microsoft Visual Studio AJAX Profiling Extensions es una herramienta de perfilado gratuita para JavaScript por Microsoft Research.

. NET

  • CLR Profiler es un perfilador de memoria gratuito proporcionado por Microsoft para aplicaciones CLR.
  • GlowCode es un perfilador de rendimiento y memoria para. Aplicaciones NET usando C# y otros. Idiomas NET. Identifica funciones intensivas en el tiempo y detecta fugas de memoria y errores en aplicaciones nativas, administradas y mixtas Windows x64 y x86.
  • Visual Studio

PHP

  • BlackFire.io
  • Dbg
  • Xdebug es una extensión PHP que proporciona capacidades de depuración y perfilado.

Véase también

  • Análisis del desempeño
  • Depurador de memoria (incluye lista de perfiles de memoria)

Referencias

  1. ^ "CodeXL". Archivado desde el original el 19 de septiembre de 2013. Retrieved 26 de septiembre 2013.
  2. ^ "Performance - Firefox Herramientas para Desarrolladores Silencio MDN". MDN Web Docs. Retrieved 27 de octubre 2021.
  • Herramientas de análisis de rendimiento, artículo del Laboratorio Nacional Lawrence Livermore
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save