Ishlashni tahlil qilish vositalari ro'yxati - List of performance analysis tools

Bu ro'yxat ishlash tahlili vositalar foydalanish uchun dasturiy ta'minotni ishlab chiqish.

Umumiy maqsad, tildan mustaqil

Quyidagi vositalar turli xil tizimlardan yaratilishi mumkin bo'lgan jurnal fayllari asosida ishlaydi.

  • vaqt (Unix) - foydalanuvchi vaqtini tizim vaqtiga va protsessor vaqtini soat vaqtiga nisbatan alohida hisoblab, dasturning ishlash vaqtini aniqlash uchun ishlatilishi mumkin.[1]
  • timem (Unix) - shunga o'xshash devor soatining ishlash vaqtini, protsessor vaqtini va protsessordan foydalanishni aniqlash uchun foydalanish mumkin vaqt (Unix) lekin ko'plab kengaytmalarni qo'llab-quvvatlaydi.
    • Hisobot cho'qqisini qo'llab-quvvatlaydi rezidentning o'lchamlari, sahifaning katta va kichik nosozliklari, ustuvor va ixtiyoriy kontekst orqali o'tish getrusage.
    • Namuna olishni qo'llab-quvvatlaydi procfs sahifalarga asoslangan ko'rsatkichlar haqida hisobot berish uchun tizimlarni qo'llab-quvvatlash to'g'risida rezidentning o'lchamlari, virtual xotira hajmi, o'qish va yozish baytlari va boshqalar.
    • Qurilishda apparat hisoblagichlarini yig'ishni qo'llab-quvvatlaydi PAPI qo'llab-quvvatlash.

Bir nechta tillar

Quyidagi vositalar bir nechta tillar yoki ikkiliklar uchun ishlaydi.

Ism / ishlab chiqaruvchiOSTuzuvchi / TilBu nima qiladiLitsenziya
Qo'l xaritasiLinuxC, C ++, Fortran / Fortran90 va Python dasturlari.Ishlash ko'rsatkichi. I / O, aloqa, suzuvchi nuqtadan foydalanish va xotiraga kirish xarajatlarini ko'rsatadi.

Ko'p tarmoqli va ko'p jarayonli dasturlarni qo'llab-quvvatlaydi, masalan, kabi MPI yoki OpenMP juda yuqori tugun soniga parallellik va tarozi.

Mulkiy
AppDynamics tomonidan CiscoLinux, Windows, iOS, Android, Azure, AWS, AIX.NET, Java, PHP, HTML5, ObjectiveC / iOS, Java / Android, C / C ++, Apache, Nginx, Cassandra, DataBasesQarang Ilovalar samaradorligini boshqarish.Mulkiy
AQtime tomonidan SmartBear dasturiWindows.NET 1.0 dan 4.0 gacha (shu jumladan ASP.NET dasturlari), Silverlight 4.0 dasturlari, Windows 32 va 64 bitli dasturlar, shu jumladan C, C ++, Delphi Win32 va VBScript va JScript funktsiyalari uchunIsh samaradorligini oshirish va xotira / resurslarni disk raskadrovka vositalari to'plami.Mulkiy
CodeAnalyst tomonidan AMDLinux, WindowsC, C ++, ob'ektiv C .NET, Java (bajariladigan darajada ishlaydi)AMD uProf AMD protsessorlarida protsessor va quvvatni profillashtirish uchun CodeAnalyst va CodeXL-ni almashtiradi.


GUI-ga asoslangan kod profiler; Intel protsessorlarida faqat taymerga asoslangan asosiy profilni amalga oshiradi. Asoslangan OProfile.

Bepul / ochiq manbali (GPL) yoki mulkiy
AMD CodeXL tomonidan AMDLinux, WindowsGPU-da profil yaratish va disk raskadrovka uchun: OpenCL.GPU profilini tuzish, GPU disk raskadrovka vositasi va statik yadro analizatori uchun vositalar to'plami.Bepul / ochiq manba (MIT)
AMD uProf tomonidan AMDLinux, WindowsC, C ++, .NET, Java, FortranKod profiler, AMD protsessorlarida namuna olish asosida profillashni amalga oshiradi.Mulkiy
DevPartner tomonidan Borland / Mikro fokus.NET, JavaDasturiy ta'minotning nuqsonlari va ishlash muammolarini avtomatik ravishda aniqlaydigan va tashxislaydigan sinov to'plami.Mulkiy
DTrace tomonidan Quyosh mikrosistemalariSolaris, Linux, BSD, macOSHaqiqiy vaqtda ishlab chiqarish tizimlarida yadro va dastur muammolarini bartaraf etish uchun keng qamrovli dinamik kuzatuv tizimi.Bepul / ochiq manba (CDDL )
dinamoRIO RIO tomonidanLinux, WindowsDinamik ikkilik asbobsozlik rivojlantirish uchun asos dinamik dastur tahlili vositalar.Bepul / ochiq manba - BSD
DynatraceLinux, Windows, iOS, Android, Azure, AWS, AIX, Solaris, HP / UX, zOS, zLinux.NET, Java, PHP, HTML5, Ajax (veb-saytlar uchun), Objective-C / iOS, Java / Android, C / C ++, CICS, Apache, Nginx, Cassandra, Hadoop, MongoDB, HBaseQarang Ilovalar samaradorligini boshqarish.Mulkiy
Qo'shimchaLinux, AndroidAsosan C / C ++ / Fortran, lekin qo'llab-quvvatlanadigan parallel kutubxonalar (masalan, MPI4PY) bilan bog'langan har qanday dasturni profillashtirishi mumkin.HPC ishlashni tahlil qilish vositasi tomoshabin va yordamchi dasturlar bilan. Asosan MPI, OpenMP, CUDA, OpenCL, pthreads va OmpSs-ni qo'llab-quvvatlaydigan parallel dasturlar uchun mo'ljallangan. Qo'shimcha funktsiyalarga foydalanuvchi funktsiyasini kuzatish va PAPI orqali apparat hodisalarini ta'qib qilish kiradi.Bepul / ochiq manba - LGPL-2.1
FusionReactorLinux, Windows, macOS, AWS, Azure, Google CloudJava, ColdFusion, Apache, MongoDB. Tomonidan qo'llab-quvvatlanadigan har qanday til bilan ishlaydi JVMAmalga oshiradi Ilovalar samaradorligini boshqarish va ishlash va ildiz sabablarini tahlil qilish. APM va Low Level Developer Style Tooling-ni birlashtiradi; shuningdek, tuzatuvchi va Java, xotira, ip va protsessor profillarini o'z ichiga oladi.Mulkiy
GlowCodeWindows64 va 32 bitli dasturlar, har qanday til kompilyatori tomonidan yaratilgan C, C ++, .NET va DLL.Vaqtni talab qiladigan funktsiyalarni aniqlaydigan va xotira sızıntıları va xatolarini aniqlaydigan ishlash va xotira profiler.Mulkiy
gprofLinux / UnixTomonidan qo'llab-quvvatlanadigan har qanday til gccBirgalikda namuna olish va qo'ng'iroq grafiklarini profillash bilan bir nechta vositalar. Vizualizatsiya vositalari to'plami, VCG vositalari, gprof bilan interfeys qilish uchun Call Craph Drawing Interface (CGDI) dan foydalanadi. Gprof bilan bog'lanadigan yana bir vizualizatsiya vositasi KProf.Bepul / ochiq manba - BSD versiyasi uning bir qismidir 4.2BSD va GNU versiyasi qismidir GNU Binutils (tomonidan GNU loyihasi )
InstanaLinux, Windows, iOS, Android, Azure, AWS, AIX, Solaris, HP / UX, zOS, zLinux.NET, .Net yadrosi, Java, PHP, Ruby, Python, Crystal, Scala, Kotlin, Clojure, Haskell, Node.js, Veb-brauzer, Apache, Nginx, Cassandra, Hadoop, MongoDB, Elasticsearch, KafkaQarang Ilovalar samaradorligini boshqarish.Mulkiy
Asboblar bilan XcodemacOSC, C ++, Objective-C / C ++, Swift, Kakao dasturlari.Asboblar grafikada va statistik ma'lumotlar bilan birga dasturda sodir bo'ladigan har qanday hodisani, masalan, protsessorning o'zgarishini, xotirani ajratishni, tarmoq va fayl faolligini aks ettiradigan vaqt chizig'ini ko'rsatadi.

Voqealar guruhi quyidagi vositalarni tanlash orqali kuzatiladi: Fayl faoliyati, Xotirani ajratish, Vaqtni aniqlash, GPU faoliyati va boshqalar. Amalga oshiriladigan tizimning keng ta'sirida: Tizim izi, Tizimdan foydalanish, Tarmoqdan foydalanish, Energiya jurnali va boshqalar.

Ozod. Mulkiy. Xcode bilan ta'minlangan, u ham bepul.
Intel maslahatchisiLinux va Windows. Faqatgina MacOS-da tomoshabin.C, C ++ va FortranVektorlashtirish (SIMD) optimallashtirish. Issiq ko'chadan toping, vektorizatsiyani to'sib qo'yadigan identifikatorni toping, ko'chadan bog'liqliklarni tekshiring, xotiraga kirish rejimlarini tahlil qiling va qadam va xotira izlarini optimallashtiring. Keshdan xabardor bo'lgan tomni tahlil qilishni o'z ichiga oladi.

Ma'lumotlar oqimi va bog'liqlikni hisoblash grafikalarini yaratish va tahlil qilish uchun Flow Graph Analyzer-ni ham o'z ichiga oladi.

Bepul dasturiy ta'minot va xususiy mulk. Ning bir qismi sifatida to'plangan Intel Parallel Studio.
Linux iz vositasi (LTT)LinuxYamalgan yadro talab qilinadiJarayonlarni blokirovka qilish, kontekstni almashtirish va bajarish vaqti to'g'risidagi ma'lumotlarni to'playdi. Bu bir nechta jarayonlar yoki ish zarralari bo'yicha ishlash muammolarini aniqlashga yordam beradi. O'zgartirilgan LTTng.GPL
LTTng (Linux Trace Toolkit Next Generation)LinuxYadro, dasturlar va kutubxonalarning o'zaro bog'liqligini kuzatish uchun tizim dasturiy ta'minot to'plami.GPL / LGPL / MIT
OProfileLinuxLinux tizimida ishlaydigan barcha narsalar, shu jumladan profilaktika qilish qiyin bo'lgan dasturlar, masalan, uzilishlar ishlovchilari va yadroning o'zi.Keshni o'tkazib yuborish, to'xtash joylari, xotirani olish va boshqalarni hisoblaydigan Linux uchun namuna olish profileri.Ochiq manbali GPLv2
Oracle Solaris studiyasi Ishlash analizatoriLinux, SolarisC, C ++, Fortran, Java; MPIIshlash va xotirani profiler.Xususiy bepul dastur
mukammal vositalarLinux yadrosi 2.6.31+Bir nechta arxitekturadagi apparat tadbirlarini qo'llab-quvvatlovchi profilni tanlash.GPL
Ishlashni dasturlash interfeysi (PAPI)Turli xilZamonaviy mikroprotsessorlarning texnik ko'rsatkichlari uchun kutubxona.
LIKWIDLinuxC / C ++, Fortran, Python, Java va LuaBuyruqlar satridagi amaliy dasturlar to'plami va ishlashga yo'naltirilgan dasturchilar uchun kutubxona (apparat samaradorligini nazorat qilish, yaqinlikni boshqarish va boshqalar).GPLv3
Pin tomonidan IntelLinux, Windows, macOS, AndroidFoydalanuvchilarga dasturlarni maxsus tahlil qilish vositalarini yaratishga imkon beruvchi dinamik ikkilik asbobsozlik tizimi.Mulkiy, ammo notijorat maqsadlarda foydalanish uchun bepul
Rational PurifyPlusAIX, Linux, Solaris, WindowsIshlashni profilaktika qilish vositasi, xotira tuzatuvchisi va kodni qamrab olish vosita.Mulkiy
SkalaskaLinuxC / C ++, FortranParallel iz analizatori.Bepul / ochiq manba (BSD litsenziyasi)
Nahang Apple tomonidanmacOS (10.7 bilan to'xtatilgan)Ishlash analizatori.Xususiy bepul dastur
Superluminal ishlashWindows, Xbox, PlayStationC, C ++, zangGibrid namuna olish va asbobsozlik profillari, foydalanishga yaroqliligi va ko'lamini hisobga olgan holda qurilgan.Mulkiy
SystemtapLinuxDasturlashtiriladigan tizimni kuzatish / tekshirish vositasi; yadro va / yoki uning foydalanuvchilar maydonining vaqt yoki ishlashga qarshi yoki funktsiyaga asoslangan rejimlarini yaratish uchun skript yozilishi mumkin.Ochiq manba
vaqtinchalikLinux, macOS, WindowsC, C ++, Python, FortranIshlab chiqarishni tahlil qilish uchun o'lchovli maxsus asbobsozlik va namuna olish vositalarini yaratish uchun modulli C ++ to'plami. Kompilyatsiya vaqtida har bir ishlashni tahlil qilish komponentining interfeysiga moslashish orqali qo'shimcha xarajatlarni minimallashtirish va ko'p qirrali va ko'p jarayonli ish vaqtlarida chaqiruv va ma'lumotlarni saqlash uchun yordamni qo'shishni soddalashtirish uchun mo'ljallangan. Vaqtni belgilash, resurslardan foydalanish, apparat taymerlari, oldindan tayyorlangan ko'plab komponentlarni o'z ichiga oladi. Roofline modeli, va uchun API asboblari VTune, Intel maslahatchisi, LIKWID va Qo'l xaritasi, Boshqalar orasida. Komponentlar o'zboshimchalik bilan jamoaviy chaqiruvlar va kirish argumentlarini translyatsiya qilish uchun bitta tutqichga to'planishi mumkin. Python birikmalari har bir komponent uchun past darajadagi Python profillash vositalarini amalga oshirish uchun mustaqil sinf sifatida taqdim etiladi. Dinamik asboblar yordamida profil yaratish Linuxda mavjud.Bepul / ochiq manbali (MIT)
ValgrindLinux, macOS, Solaris, AndroidHar qanday, shu jumladan montajchiNosozliklarni tuzatish va profil tuzish tizimi; xotira boshqaruvi va xatolarni aniqlash yoki profilning ishlashini aniqlash uchun vositalarni qo'llab-quvvatlaydi (cachegrind va callgrind). KCacheGrind, valkyrie va alleyoop valgrind uchun oldingi qismlardir.Bepul / ochiq manba (GPL)
VTune Profiler tomonidan Intel korporatsiyasi

(avval VTune kuchaytirgichi)

Linux, Windows, faqat macOS uchun tomoshabinC, C ++, C #, Fortran, .NET, Java, Python, Go, ASM AssambleyasiNamuna olish, asbobsozlik va protsessor izlash texnologiyalari bilan amalga oshirilgan profil tahlillari to'plami. Hotspot, Threading, HPC, I / O, FPGA, GPU, System, Throttling va Microarchitecture tahlillarini o'z ichiga oladi.Bepul dasturiy ta'minot va xususiy mulk. Shuningdek, uning bir qismi sifatida mavjud Intel Parallel Studio.


Windows ishlashini tahlil qilish bo'yicha qo'llanma tomonidan MicrosoftWindowsXususiy bepul dastur
RotateRight ZoomLinux, macOS, Faqat Windows uchun ViewerARM va x86 protsessorlarida eng ko'p tuzilgan tillarni qo'llab-quvvatlaydi.Grafik va buyruq satridagi statistik (voqealarga asoslangan) profil.
VisualSimLinux, macOS, Microsoft WindowsC / C ++ / SystemC-ni qo'llab-quvvatlaydiMurakkab elektronika tizimlarining ishlashini, quvvatini va ishonchliligini tanlash, tahlil qilish va tasdiqlash uchun grafik modellashtirish va simulyatsiya platformasi.Mulkiy

C va C ++

  • Qo'l xaritasi, Linux platformalarini qo'llab-quvvatlaydigan ishlash profiler.
  • AppDynamics, dastur samaradorligini boshqarish echimi[g'alati so'z ] SDK orqali C / C ++ dasturlari uchun.
  • AQtime Pro, Microsoft Visual Studio va Embarcadero RAD Studio-ga birlashtirilishi mumkin bo'lgan yoki mustaqil dastur sifatida ishlashi mumkin bo'lgan ishlash profilerini va xotirani ajratishni tuzatuvchisi.
  • IBM Rational Purify ishlashni tahlil qilishga imkon beruvchi xotira tuzatuvchisi edi.
  • Asboblar (Xcode bilan birga) ijro etiladigan faylning xotirasini ajratish, vaqtdan foydalanish, fayl tizimining faoliyati, GPU faoliyati va boshqalarni profilaktika qilish uchun ishlatiladi.
  • Intel Parallel Studio ketma-ket va parallel dasturlarni sozlaydigan Intel VTune kuchaytirgichini o'z ichiga oladi. Shuningdek, unga Intel maslahatchisi va Intel inspektori kiradi. Intel maslahatchisi vektorlashtirishni optimallashtiradi (SIMD yo'riqnomasidan foydalanish) va prototiplarni ish zarrachalash dasturlari. Intel Inspector poyga, tiqilib qolish va xotira xatolarini aniqlaydi va disk raskadrovka qiladi.
  • Parasoft Sug'urtalash ++ xotira ajratilishini, parchalanishini, haddan tashqari ishlatilishini, to'siqlarni va qochqinlarni fosh qilish uchun real vaqt rejimida xotira ajratmalarini namoyish qiluvchi va jonlantiruvchi grafik vositani taqdim etadi.
  • Timemory, ishlashni tahlil qilish vositalarini yaratish uchun modulli C ++ to'plami, bu juda ko'p buyruq qatori vositalari va kutubxonalarni uning egiluvchanligi va qayta ishlatilishining qo'shimcha mahsuloti sifatida taqdim etadi.
  • Visual Studio Team System Profiler, Microsoft tomonidan tijorat profiler.

Java

  • tekshirish ochiq manba hisoblanadi dasturlarning ishlashini boshqarish (APM) eritmasi[g'alati so'z ] ostida mavjud bo'lgan dasturiy ta'minot dasturlarini kuzatish va tahlil qilish uchun Apache litsenziyasi, Versiya 2.0 (ALv2).
  • JConsole bilan birga keladigan profiler Java Development Kit
  • JProfiler
  • JRockit missiyasini boshqarish, ish haqi past bo'lgan profiler.
  • Netbeans Profiler, ichiga o'rnatilgan profiler NetBeans IDE (ichki sifatida foydalanadi nilufar profiler)
  • Plumbr, Avtomatik ildiz sabablarini aniqlash bilan Java dasturining ishlashini nazorat qilish. Xotira sızıntısı, GC'nin samarasizligi, ma'lumotlar bazasining sekinlashishi va tashqi veb-xizmat qo'ng'iroqlari, qulflangan iplar va boshqa ishlash muammolarini ularni keltirib chiqaradigan manba kodidagi qatorga bog'laydi.
  • OverOps, Zamonaviy dastur ta'minoti zanjiri uchun doimiy ishonchlilik, avtomatik ravishda barcha xatolar uchun asosiy sabablarni avtomatlashtirishni aniqlaydi va etkazib beradi.
  • VisualVM bir nechta buyruq qatori JDK vositalari va engil profil yaratish imkoniyatlarini birlashtirgan ingl. U bilan bog'langan Java Development Kit 6-versiyadan beri 7-ni yangilang.
  • FusionReactor, Java dasturining ishlashi monitoringi - kam xarajat, ishlab chiqarishda disk raskadrovka, kodni profillash, xotira va ish zarralarini tahlil qilish uchun vositalar

JavaScript

.NET

  • CLR Profiler uchun Microsoft tomonidan taqdim etilgan bepul xotira profilidir CLR ilovalar.
  • GlowCode bu C # va boshqa .NET tillaridan foydalangan holda .NET dasturlari uchun ishlash va xotirani profileridir. U ko'p vaqt talab qiladigan funktsiyalarni aniqlaydi va mahalliy, boshqariladigan va aralash Windows x64 va x86 dasturlarida xotira sızıntılarını va xatolarini aniqlaydi.
  • Visual Studio

PHP

  • BlackFire.io
  • Dbg
  • Xdebug a PHP disk raskadrovka va profil yaratish imkoniyatlarini ta'minlaydigan kengaytma.

Shuningdek qarang

Adabiyotlar

  1. ^ "CodeXL". Arxivlandi asl nusxasi 2013 yil 19 sentyabrda. Olingan 26 sentyabr 2013.

Tashqi havolalar