Seznam nástrojů pro analýzu výkonu - List of performance analysis tools
tento článek potřebuje další citace pro ověření.Listopadu 2011) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
Toto je seznam analýza výkonu nástroje pro použití v vývoj softwaru.
Obecné, jazykově nezávislé
Následující nástroje fungují na základě souborů protokolu, které lze generovat z různých systémů.
- čas (Unix) - lze použít k určení doby běhu programu, přičemž se samostatně počítá čas uživatele vs. systémový čas a čas CPU vs. čas hodin.[1]
- timem (Unix) - lze použít k určení času nástěnných hodin, času CPU a využití CPU podobně čas (Unix) ale podporuje mnoho rozšíření.
- Podporuje špičku hlášení velikost rezidentní sady, hlavní a vedlejší chyby stránky, prioritní a dobrovolné přepínání kontextu pomocí getrusage.
- Podporuje vzorkování procfs na podpůrných systémech pro vykazování metrik, jako jsou stránky velikost rezidentní sady, velikost virtuální paměti, bajty pro čtení a zápis, atd.
- Podporuje shromažďování hardwarových čítačů, když je zabudován PAPI Podpěra, podpora.
Více jazyků
Následující nástroje fungují pro více jazyků nebo binárních souborů.
Název / výrobce | OS | Překladač / jazyk | Co to dělá | Licence |
---|---|---|---|---|
Rameno MAP | Linux | Aplikace C, C ++, Fortran / Fortran90 a Python. | Výkonnostní profiler. Zobrazuje I / O, komunikaci, využití provozu s plovoucí desetinnou čárkou a náklady na přístup do paměti. Podporuje vícevláknové a víceprocesové aplikace - například ty s MPI nebo OpenMP paralelismus a škálování na velmi vysoké počty uzlů. | Proprietární |
AppDynamics podle Cisco | Linux, Windows, iOS, Android, Azure, AWS, AIX | .NET, Java, PHP, HTML5, ObjectiveC / iOS, Java / Android, C / C ++, Apache, Nginx, Cassandra, DataBases | Vidět Správa výkonu aplikací. | Proprietární |
AQtime podle Software SmartBear | Okna | Aplikace .NET 1.0 až 4.0 (včetně aplikací ASP.NET), aplikace Silverlight 4.0, 32bitové a 64bitové aplikace Windows včetně C, C ++, Delphi pro funkce Win32 a VBScript a JScript | Sada nástrojů pro ladění výkonu a ladění paměti / prostředků. | Proprietární |
CodeAnalyst podle AMD | Linux, Windows | C, C ++, Objective C .NET, Java (funguje na spustitelné úrovni) | AMD uProf nahrazuje CodeAnalyst a CodeXL pro profilování CPU a Power na procesorech AMD.
| Free / open source (GPL) nebo proprietární |
AMD CodeXL podle AMD | Linux, Windows | Pro profilování a ladění GPU: OpenCL. | Sada nástrojů pro profilování GPU, ladicí program GPU a statický analyzátor jádra. | Zdarma / otevřený zdroj (MIT) |
AMD uProf podle AMD | Linux, Windows | C, C ++, .NET, Java, Fortran | Code profiler, dělá vzorkování založené na profilování na procesorech AMD. | Proprietární |
DevPartner podle Borland / Micro Focus | .NET, Java | Testovací sada, která automaticky detekuje a diagnostikuje vady softwaru a problémy s výkonem. | Proprietární | |
DTrace podle Sun Microsystems | Solaris, Linux, BSD, macOS | Komplexní rámec pro dynamické trasování pro řešení problémů s jádry a aplikacemi na produkčních systémech v reálném čase. | Zdarma / otevřený zdroj (CDDL ) | |
dynamoRIO od RIO | Linux, Windows | Dynamická binárka instrumentace rámec pro rozvoj dynamická analýza programu nástroje. | Zdarma / otevřený zdroj - BSD | |
Dynatrace | Linux, Windows, iOS, Android, Azure, AWS, AIX, Solaris, HP / UX, zOS, zLinux | .NET, Java, PHP, HTML5, Ajax (pro webové stránky), Objective-C / iOS, Java / Android, C / C ++, CICS, Apache, Nginx, Cassandra, Hadoop, MongoDB, HBase | Vidět Správa výkonu aplikací. | Proprietární |
Extrae | Linux, Android | Primárně C / C ++ / Fortran, ale může profilovat jakoukoli aplikaci propojující proti podporovaným paralelním knihovnám (např.MPI4PY) | Nástroj pro analýzu výkonu HPC s prohlížečem a podpůrnými nástroji. Primárně navrženo pro paralelní aplikace s podporou MPI, OpenMP, CUDA, OpenCL, pthreads a OmpS. Mezi další funkce patří sledování uživatelských funkcí a zachycení hardwarových událostí pomocí PAPI. | Zdarma / otevřený zdroj - LGPL-2.1 |
FusionReactor | Linux, Windows, macOS, AWS, Azure, Google Cloud | Java, ColdFusion, Apache, MongoDB Funguje s jakýmkoli jazykem podporovaným JVM | Vystupuje Správa výkonu aplikací a analýza výkonu a kořenových příčin. Kombinuje nástroje APM a nástroje nízké úrovně pro vývojáře; zahrnuje také debugger a profily Java, paměti, podprocesů a CPU. | Proprietární |
GlowCode | Okna | 64bitové a 32bitové aplikace, C, C ++, .NET a dll generované libovolným překladačem jazyků. | Výkonový a paměťový profiler, který identifikuje časově náročné funkce a detekuje úniky paměti a chyby. | Proprietární |
gprof | Linux / Unix | Libovolný jazyk podporovaný gcc | Několik nástrojů s kombinovaným vzorkováním a profilováním grafu volání. Sada vizualizačních nástrojů, Nástroje VCG, používá rozhraní Call Graph Drawing Interface (CGDI) k propojení s gprof. Dalším vizualizačním nástrojem, který je v rozhraní s gprof, je KProf. | Free / open source - verze BSD je součástí 4,2BSD a GNU verze je součástí GNU Binutils (podle Projekt GNU ) |
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, webový prohlížeč, Apache, Nginx, Cassandra, Hadoop, MongoDB, Elasticsearch, Kafka | Vidět Správa výkonu aplikací. | Proprietární |
Nástroje s Xcode | Operační Systém Mac | C, C ++, Objective-C / C ++, Swift, kakaové aplikace. | Instruments zobrazuje časovou linii zobrazující všechny události vyskytující se v aplikaci, jako je variace aktivity CPU, alokace paměti a aktivita sítě a souborů, spolu s grafy a statistikami. Skupina událostí je sledována výběrem konkrétních nástrojů z následujících: File Activity, Memory Allocations, Time Profiler, GPU activity etc. Pro systémový dopad spustitelného souboru: System Trace, System usage, Network Usage, Energy log atd. | Volný, uvolnit. Proprietární. Balíček s Xcode, který je také zdarma. |
Intel Advisor | Linux a Windows. Prohlížeč pouze v systému macOS. | C, C ++ a Fortran | Optimalizace vektorizace (SIMD). Najděte aktivní smyčky, identifikujte, co blokuje vektorizaci, zkontrolujte závislosti přenášené smyčkou, analyzujte vzory přístupu do paměti a optimalizujte krok a paměťovou stopu. Zahrnuje analýzu střechy s vědomím mezipaměti. Zahrnuje také Flow Graph Analyzer pro vytváření a analýzu grafů toku dat a závislostí. | Freeware a proprietární. Balíček jako součást Intel Parallel Studio. |
Linux Trace Toolkit (LTT) | Linux | Vyžaduje opravené jádro | Shromažďuje data o blokování procesů, přepínání kontextu a době provádění. To pomáhá identifikovat problémy s výkonem u více procesů nebo vláken. Nahrazen LTTng. | GPL |
LTTng (Linux Trace Toolkit příští generace) | Linux | Systémový softwarový balíček pro korelované trasování jádra, aplikací a knihoven. | GPL / LGPL / MIT | |
OProfil | Linux | Profily vše běžící na systému Linux, včetně těžko profilovatelných programů, jako jsou obslužné rutiny přerušení a samotné jádro. | Vzorkovací profiler pro Linux, který počítá zmeškané mezipaměti, stánky, načtení paměti atd. | Otevřený zdroj GPLv2 |
Studio Oracle Solaris Analyzátor výkonu | Linux, Solaris | C, C ++, Fortran, Java; MPI | Výkon a profil paměti. | Proprietární freeware |
nástroje perf | Linuxové jádro 2.6.31+ | Vzorkovací profiler s podporou hardwarových událostí na několika architekturách. | GPL | |
Výkonové aplikační programovací rozhraní (PAPI) | Rozličný | Knihovna pro hardwarové čítače výkonu na moderních mikroprocesorech. | ||
LIKWID | Linux | C / C ++, Fortran, Python, Java a Lua | Sada nástrojů a knihovny příkazového řádku pro programátory orientované na výkon (sledování výkonu hardwaru, řízení spřažení atd.). | GPLv3 |
Kolík podle Intel | Linux, Windows, macOS, Android | Dynamický binární přístrojový systém, který umožňuje uživatelům vytvářet vlastní nástroje pro analýzu programů. | Vlastní, ale zdarma pro nekomerční použití | |
Rational PurifyPlus | AIX, Linux, Solaris, Windows | Nástroj pro profilování výkonu, debugger paměti a pokrytí kódu nářadí. | Proprietární | |
Scalasca | Linux | C / C ++, Fortran | Paralelní trasovací analyzátor. | Free / open source (licence BSD) |
Žralok od společnosti Apple | macOS (ukončeno s 10.7) | Analyzátor výkonu. | Proprietární freeware | |
Superluminální výkon | Windows, Xbox, PlayStation | C, C ++, rez | Hybridní profiler vzorkování a instrumentace, vytvořený s ohledem na použitelnost a škálovatelnost. | Proprietární |
Systemtap | Linux | Programovatelný systém pro sledování / sondování systému; mohou být skriptovány pro generování časových nebo výkonnostních nebo funkčních profilů jádra a / nebo jeho uživatelského prostoru. | Otevřený zdroj | |
památka | Linux, macOS, Windows | C, C ++, Python, Fortran | Modulární sada nástrojů C ++ pro vytváření škálovatelných vlastních přístrojových a vzorkovacích nástrojů pro analýzu výkonu. Navrženo tak, aby minimalizovalo režii tím, že se přizpůsobí rozhraní každé komponenty analýzy výkonu v době kompilace a zjednoduší přidávání podpory pro vyvolání a ukládání dat v runtime s více vlákny a více procesy. Zahrnuje mnoho předem připravených komponent pro načasování, využití prostředků, hardwarové čítače, Model střechy a přístrojová API pro VTune, Intel Advisor, LIKWID, a Rameno MAP, mezi ostatními. Komponenty lze libovolně seskupovat do jednoho popisovače pro hromadné vyvolání a vysílání vstupních argumentů. Vazby Pythonu jsou poskytovány pro každou komponentu jako samostatná třída pro implementaci nástrojů pro profilování Pythonu s nízkou režií. Profilování pomocí dynamické instrumentace je k dispozici v systému Linux. | Free / Open-source (MIT) |
Valgrind | Linux, macOS, Solaris, Android | Libovolný, včetně assembleru | Systém pro ladění a profilování; podporuje nástroje k detekci chyb správy paměti a vláken, nebo výkonu profilu (cachegrind a callgrind). KCacheGrind, valkyrie a alleyoop jsou front-endy pro valgrind. | Free / open source (GPL) |
VTune Profiler od Intel Corporation (dříve VTune Amplifier) | Linux, Windows, prohlížeč pouze pro macOS | C, C ++, C #, Fortran, .NET, Java, Python, Go, ASM Assembly | Soubor analýz profilování implementovaných pomocí technologií vzorkování, instrumentace a sledování procesoru. Zahrnuje analýzy Hotspot, Threading, HPC, I / O, FPGA, GPU, System, Throttling a Microarchitecture. | Freeware a proprietární. K dispozici také jako součást Intel Parallel Studio. |
Windows Performance Analysis Toolkit podle Microsoft | Okna | Proprietární freeware | ||
RotateRight Zoom | Linux, macOS, Viewer Pouze pro Windows | Podporuje většinu kompilovaných jazyků na procesorech ARM a x86. | Grafický a statistický profiler (založený na událostech) z příkazového řádku. | |
VisualSim | Linux, macOS, Microsoft Windows | Podporuje C / C ++ / SystemC | Platforma grafického modelování a simulace pro výběr, analýzu a ověření architektury složitých elektronických systémů pro výkon, výkon a spolehlivost. | Proprietární |
C a C ++
- Rameno MAP, profiler výkonu podporující platformy Linux.
- AppDynamics, řešení pro správu výkonu aplikací[módní slovo ] pro aplikace C / C ++ přes SDK.
- AQtime Pro, ladicí program pro profilování výkonu a přidělení paměti, který lze integrovat do Microsoft Visual Studio a Embarcadero RAD Studio, nebo jej lze spustit jako samostatnou aplikaci.
- IBM Rational Purify byl debugger paměti umožňující analýzu výkonu.
- Nástroje (svázaný s Xcode) se používá k profilování přidělení paměti spustitelného souboru, využití času, aktivity souborového systému, aktivity GPU atd.
- Intel Parallel Studio obsahuje Intel VTune Amplifier, který ladí jak sériové, tak paralelní programy. Zahrnuje také Intel Advisor a Intel Inspector. Intel Advisor optimalizuje vektorizaci (použití instrukcí SIMD) a implementace prototypů vláken. Intel Inspector detekuje a ladí závody, zablokování a chyby paměti.
- Parasoft Pojistit ++ poskytuje grafický nástroj, který zobrazuje a animuje alokace paměti v reálném čase, aby odhalil prasknutí paměti, fragmentaci, nadměrné použití, úzká místa a úniky.
- Časová památka, modulární sada nástrojů C ++ pro vytváření nástrojů pro analýzu výkonu, která poskytuje řadu nástrojů a knihoven příkazového řádku jako vedlejší produkt její flexibility a opětovného použití.
- Visual Studio Team System Profiler, komerční profiler společnosti Microsoft.
Jáva
- zkontrolovat IT je open-source řízení výkonu aplikací (APM) řešení[módní slovo ] pro monitorování a analýzu softwarových aplikací dostupných pod Licence Apache, Verze 2.0 (ALv2).
- JConsole je profiler, který je dodáván s Vývojová sada Java
- JProfiler
- Řízení mise JRockit, profiler s nízkou režií.
- Netbeans Profiler, profiler integrovaný do NetBeans IDE (interně používá jvisualvm profiler)
- Plumbr, Monitorování výkonu aplikací Java s automatizovanou detekcí příčin. Propojuje úniky paměti, neúčinnost GC, pomalá volání databáze a externích webových služeb, uzamčená vlákna a další problémy s výkonem na řádek ve zdrojovém kódu, který je způsobuje.
- OverOps Kontinuální spolehlivost pro moderní dodavatelský řetězec softwaru, automaticky detekuje a poskytuje automatizaci hlavních příčin všech chyb.
- VisualVM je vizuální nástroj integrující několik nástrojů JDK z příkazové řádky a odlehčené možnosti profilování. Je dodáván s Vývojová sada Java od verze 6, aktualizace 7.
- FusionReactor, Monitorování výkonu aplikací Java - nízké režijní náklady, nástroje produkční úrovně pro ladění výroby, profilování kódu, analýza paměti a vláken
JavaScript
- Firebug je plugin Firefoxu pro vývoj webových aplikací, má také profiler pro JavaScript.
- Microsoft Visual Studio AJAX Profiling Extensions je bezplatný nástroj pro profilování pro JavaScript podle Microsoft Research.
.SÍŤ
- CLR Profiler je bezplatný profilovač paměti poskytovaný společností Microsoft pro CLR aplikace.
- GlowCode je profil výkonu a paměti pro aplikace .NET využívající C # a další jazyky .NET. Identifikuje časově náročné funkce a detekuje úniky paměti a chyby v nativních, spravovaných a smíšených aplikacích Windows x64 a x86.
- Vizuální studio
PHP
Viz také
- Analýza výkonu
- Debugger paměti (zahrnuje seznam profilátorů paměti)