Это список инструментов анализа производительности , используемых при разработке программного обеспечения .
Следующие инструменты работают на основе файлов журналов, которые могут быть созданы из различных систем.
Следующие инструменты работают с несколькими языками или двоичными файлами.
Название/производитель | ОС | Компилятор/язык | Что он делает | Лицензия |
---|---|---|---|---|
AppDynamics от Cisco | Linux, Windows, iOS, Android, Azure, AWS, AIX | .NET, Java, PHP, HTML5, ObjectiveC/iOS, Java/Android, C/C++, Apache, Nginx, Cassandra, Базы данных | См. Управление производительностью приложений . | Запатентованный |
Менеджер приложений от ManageEngine | Линукс, Виндовс | Java, PHP, Ruby, .NET, .NET Core, Node.js. | См. Управление производительностью приложений . | Запатентованный |
AQtime от SmartBear Software | Окна | Приложения .NET 1.0–4.0 (включая приложения ASP.NET), приложения Silverlight 4.0, приложения Windows 32- и 64-бит, включая функции C, C++, Delphi для Win32 и VBScript и JScript | Профилировщик производительности и набор инструментов для отладки памяти/ресурсов. | Запатентованный |
Рука MAP | Линукс | Приложения на языках C, C++, Fortran/Fortran90 и Python. | Профилировщик производительности. Показывает ввод-вывод, связь, использование операций с плавающей точкой и затраты на доступ к памяти. Поддерживает многопоточные и многопроцессные приложения, например, с параллелизмом MPI или OpenMP, и масштабируется до очень большого количества узлов. | Запатентованный |
CodeAnalyst от AMD | Линукс, Виндовс | C, C++, Objective C .NET, Java (работает на уровне исполняемых файлов) | AMD uProf заменяет CodeAnalyst и CodeXL для профилирования ЦП и мощности на процессорах AMD. Профилировщик кода на основе графического интерфейса; выполняет только базовое профилирование на основе таймера на процессорах Intel. Основан на OProfile . | Бесплатно/с открытым исходным кодом (GPL) или запатентовано |
AMD CodeXL от AMD | Линукс, Виндовс | Для профилирования и отладки GPU: OpenCL. | Набор инструментов для профилирования графического процессора, отладчик графического процессора и статический анализатор ядра. | Бесплатно/с открытым исходным кодом (MIT) |
AMD uProf от AMD | Линукс, Виндовс | C, C++, .NET, Java, Фортран | Профилировщик кода, выполняет профилирование на основе выборки на процессорах AMD. | Запатентованный |
DevPartner от Borland / Micro Focus | .NET, Java | Набор тестов, который автоматически обнаруживает и диагностирует дефекты программного обеспечения и проблемы производительности. | Запатентованный | |
DTrace от Sun Microsystems | Solaris, Linux, BSD, macOS | Комплексная динамическая трассировочная среда для устранения неполадок ядра и приложений в производственных системах в режиме реального времени. | Бесплатный/с открытым исходным кодом ( CDDL ) | |
dynamoRIO от RIO | Линукс, Виндовс | Динамическая двоичная инструментальная среда для разработки инструментов динамического анализа программ . | Бесплатный/с открытым исходным кодом - BSD | |
Динатрейс | Linux, Windows, iOS, Android, Azure, AWS, AIX, Solaris, HP/UX, zOS, zLinux | .NET, Java, PHP, HTML5, Ajax (для веб-сайтов), Objective-C/iOS, Java/Android, C/C++, CICS, Apache, Nginx, Cassandra, Hadoop, MongoDB, HBase | См. Управление производительностью приложений . | Запатентованный |
Экстра | Линукс, Андроид | В основном C/C++/Fortran, но может профилировать любое приложение, связывающееся с поддерживаемыми параллельными библиотеками (например, MPI4PY) | Инструмент анализа производительности HPC с просмотрщиком и вспомогательными утилитами. В первую очередь разработан для параллельных приложений с поддержкой MPI, OpenMP, CUDA, OpenCL, pthreads и OmpSs. Дополнительные функции включают трассировку пользовательских функций и захват событий оборудования через PAPI. | Бесплатно/с открытым исходным кодом - LGPL-2.1 |
FusionReactor | Linux, Windows, macOS, AWS, Azure, Google Cloud | Java, ColdFusion, Apache, MongoDB Работает с любым языком, поддерживаемым JVM | Выполняет управление производительностью приложений и анализ производительности и первопричин. Сочетает APM и низкоуровневый инструментарий разработчика; также включает отладчик и профилировщики Java, памяти, потоков и ЦП. | Запатентованный |
GlowCode от Electric Software, Inc. | Окна | 64- и 32-разрядные приложения, C, C++, .NET и библиотеки DLL, созданные компилятором любого языка. | Профилировщик производительности и памяти, который определяет ресурсоемкие функции, а также обнаруживает утечки памяти и ошибки. | Запатентованный |
гпроф | Линукс/Юникс | Любой язык, поддерживаемый gcc | Несколько инструментов с комбинированным сэмплированием и профилированием call-graph. Набор инструментов визуализации, VCG tools, использует Call Graph Drawing Interface (CGDI) для взаимодействия с gprof. Еще один инструмент визуализации, который взаимодействует с gprof, — это KProf. | Свободный/с открытым исходным кодом — версия BSD является частью 4.2BSD , а версия GNU является частью GNU Binutils (от проекта GNU ) |
HWPMC | FreeBSD 6.0+ | Среда мониторинга производительности оборудования для подсчета и выборки на уровне системы и процесса, поддерживающая несколько архитектур. | БСД | |
Инстана | 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, веб-браузер, Apache, Nginx, Cassandra, Hadoop, MongoDB, Elasticsearch, Kafka | См. Управление производительностью приложений . | Запатентованный |
Инструменты с Xcode | macOS | Приложения C, C++, Objective-C/C++, Swift, Cocoa. | Инструменты отображают временную шкалу, на которой отображаются все события, происходящие в приложении, такие как изменение активности ЦП, распределение памяти, а также сетевая и файловая активность, а также графики и статистика. Группа событий отслеживается путем выбора определенных инструментов из следующих: активность файлов, распределение памяти, профилировщик времени, активность графического процессора и т. д. Для оценки влияния исполняемого файла на всю систему полезны: трассировка системы, использование системы, использование сети, журнал энергопотребления и т. д. | Бесплатно. Запатентовано. В комплекте с Xcode, который также бесплатный. |
Советник Intel | Linux и Windows. Просмотрщик только на macOS. | C, C++, параллельный по данным C++ и Fortran | Набор инструментов проектирования и анализа — оптимизация векторизации (SIMD), прототипирование потоков, автоматизированный анализ линии крыши, моделирование разгрузки и анализ потоковых графиков | Бесплатное и проприетарное ПО. Доступно как часть Intel oneAPI Base Toolkit. |
Набор инструментов трассировки Linux (LTT) | Линукс | Требуется пропатченное ядро | Собирает данные о блокировке процессов, переключениях контекста и времени выполнения. Это помогает выявлять проблемы производительности в нескольких процессах или потоках. Заменено на LTTng . | GPL |
LTTng (Linux Trace Toolkit следующего поколения) | Линукс | Системный программный пакет для коррелированной трассировки ядра, приложений и библиотек. | GPL/LGPL/MIT | |
OПрофиль | Линукс | Профилирует все, что работает в системе Linux, включая труднопрофилируемые программы, такие как обработчики прерываний и само ядро. | Профилировщик выборки для Linux, который подсчитывает промахи кэша, зависания, выборки памяти и т. д. | Открытый исходный код GPLv2 |
Анализатор производительности Oracle Solaris Studio | Линукс, Солярис | С, С++, Фортран, Java; MPI | Профилировщик производительности и памяти. | Бесплатное фирменное ПО |
инструменты для перфорации | Ядро Linux 2.6.31+ | Профилировщик выборки с поддержкой аппаратных событий на нескольких архитектурах. | GPL | |
Интерфейс программирования приложений производительности (PAPI) | Различный | Библиотека для аппаратных счетчиков производительности на современных микропроцессорах. | ||
Закрепить Intel | Linux, Windows, MacOS, Android | Динамическая двоичная система инструментов, позволяющая пользователям создавать собственные инструменты анализа программ. | Запатентованная, но бесплатная для некоммерческого использования | |
Рациональный PurifyPlus | AIX, Linux, Solaris, Windows | Инструмент профилирования производительности, отладчик памяти и инструмент покрытия кода . | Запатентованный | |
Скаласка | Линукс | C/C++, Фортран | Параллельный анализатор трасс. | Бесплатно/с открытым исходным кодом (лицензия BSD) |
Акула от Apple | macOS (поддержка прекращена с версии 10.7) | Анализатор производительности. | Бесплатное фирменное ПО | |
Сверхсветовой | Windows, Xbox One, PlayStation | C++, Rust, .NET | Профилировщик производительности (дискретный или инструментальный) и анализатор, ориентированный на разработку игр. | Запатентованный |
Системный кран | Линукс | Программируемый инструмент трассировки/исследования системы; может быть написан на основе скрипта для создания профилей ядра и/или его пользовательского пространства на основе счетчиков времени или производительности или функций. | С открытым исходным кодом | |
Вальгринд | Linux, macOS, Solaris, Android | Любой, включая ассемблер | Система для отладки и профилирования; поддерживает инструменты для обнаружения ошибок управления памятью и потоковой передачи, а также для профилирования производительности (cachegrind и callgrind). KCacheGrind , valkyrie и alleyoop являются интерфейсами для valgrind. | Бесплатно/с открытым исходным кодом (GPL) |
Профилировщик VTune от корпорации Intel (ранее VTune Amplifier) | Linux, Windows, просмотрщик только для macOS | C, C++, C#, параллельный язык данных C++ (DPC++), Fortran, .NET, Java, Python, Go, ASM Assembly | Коллекция анализов профилирования, реализованных с помощью технологий выборки, инструментирования и трассировки процессора. Включает анализы Hotspot, Threading, HPC, I/O, FPGA, GPU, System, Throttling и Microarchitecture. | Бесплатное и проприетарное ПО. Также доступно как часть базового набора инструментов Intel oneAPI. |
Набор инструментов анализа производительности Windows от Microsoft | Windows, Linux, Android | Системный основной инструмент анализа производительности Windows, включая CPU Sampling, CPU Scheduling, Disk и все остальное. Может открывать трассировки Linux LTTng и Perf Cpu Sampling; а также трассировки Android Perfetto через плагины | Бесплатное фирменное ПО с плагинами Linux/Android Open Source | |
Повернуть вправо Увеличить | Linux, macOS, Viewer только для Windows | Поддерживает большинство компилируемых языков на процессорах ARM и x86. | Графический и командный статистический (основанный на событиях) профилировщик. | |
VisualSim | Linux, macOS, Microsoft Windows | Поддерживает C/C++/SystemC | Графическая платформа моделирования и имитации для выбора, анализа и проверки архитектуры сложных электронных систем с точки зрения производительности, мощности и надежности. | Запатентованный |