パフォーマンス分析ツールのリスト

これは、ソフトウェア開発で使用するパフォーマンス分析ツールのリストです。

汎用、言語非依存

以下のツールは、さまざまなシステムから生成される可能性のあるログ ファイルに基づいて動作します。

  • 時間(Unix) - プログラムの実行時間を決定するために使用でき、ユーザー時間とシステム時間、CPU時間とクロック時間を個別にカウントします。[ 1 ]
  • timem (Unix) - time (Unix)と同様に、ウォールクロック時間、CPU 時間、CPU 使用率を決定するために使用できますが、多数の拡張機能をサポートしています。
    • getrusage を介した、ピーク時の常駐セット サイズ、メジャー ページ フォールトとマイナー ページ フォールト、優先度、および自発的なコンテキスト スイッチのレポートをサポートします。
    • ページベースの常駐セット サイズ、仮想メモリ サイズ、読み取りバイト、書き込みバイトなどのメトリックを報告するために、サポート システムでprocfsをサンプリングすることをサポートします。
    • PAPIサポートを使用してビルドすると、ハードウェア カウンターの収集をサポートします。

複数の言語

次のツールは、複数の言語またはバイナリで動作します。

名称/メーカー OS コンパイラ/言語 何をするのか ライセンス
CiscoAppDynamicsLinux、Windows、iOS、Android、Azure、AWS、AIX .NET、Java、PHP、HTML5、ObjectiveC/iOS、Java/Android、C/C++、Apache、Nginx、Cassandra、データベース アプリケーション パフォーマンス管理を参照してください。 独自の
ManageEngineアプリケーションマネージャーLinux、Windows Java、PHP、Ruby、.NET、.NET Core、Node.js。 アプリケーション パフォーマンス管理を参照してください。 独自の
SmartBear SoftwareAQtimeウィンドウズ .NET 1.0 ~ 4.0 アプリケーション (ASP.NET アプリケーションを含む)、Silverlight 4.0 アプリケーション、C、C++、 Delphi for Win32、VBScript、JScript 関数 を含む Windows 32 ビットおよび 64 ビット アプリケーションパフォーマンス プロファイラーとメモリ/リソース デバッグ ツールセット。 独自の
腕MAPリナックス C、C++、Fortran/Fortran90、Python アプリケーション。 パフォーマンス プロファイラー。I/O、通信、浮動小数点演算の使用率、メモリ アクセス コストを表示します。

MPIまたはOpenMP並列処理などのマルチスレッドおよびマルチプロセス アプリケーションをサポートし、非常に高いノード数に拡張できます。

独自の
AMDコードアナリストLinux、Windows C、C++、Objective C .NET、Java(実行可能レベルで動作) AMD uProf は、AMD プロセッサの CPU および電力プロファイリングにおいて CodeAnalyst および CodeXL に取って代わります。

GUIベースのコードプロファイラー。Intelプロセッサ上で基本的なタイマーベースのプロファイリングのみを実行します。OProfileに基づいています

フリー/オープンソース(GPL)またはプロプライエタリ
AMD CodeXLAMD製)Linux、Windows GPU プロファイリングおよびデバッグ用: OpenCL。 GPU プロファイリング、GPU デバッガー、静的カーネル アナライザー用のツール スイート。 フリー/オープンソース(MIT)
AMD uProfAMD製)Linux、Windows C、C++、.NET、Java、Fortran コード プロファイラーは、AMD プロセッサ上でサンプリング ベースのプロファイリングを実行します。 独自の
Borland / Micro FocusDevPartner.NET、Java ソフトウェアの欠陥やパフォーマンスの問題を自動的に検出し、診断するテスト スイート。 独自の
Sun MicrosystemsDTraceSolaris、Linux、BSD、macOS 実稼働システム上のカーネルお​​よびアプリケーションの問題をリアルタイムでトラブルシューティングするための包括的な動的トレース フレームワーク。 フリー/オープンソース(CDDL
RIOによる dynamoRIOLinux、Windows 動的プログラム分析ツールの開発のための動的バイナリインストルメンテーションフレームワーク。 フリー/オープンソース - BSD
ダイナトレースLinux、Windows、iOS、Android、Azure、AWS、AIX、Solaris、HP/UX、zOS、zLinux .NET、Java、PHP、HTML5、Ajax(Webサイト用)、Objective-C/iOS、Java/Android、C/C++、CICS、Apache、Nginx、Cassandra、Hadoop、MongoDB、HBase アプリケーション パフォーマンス管理を参照してください。 独自の
エクストラLinux、Android 主に C/C++/Fortran ですが、サポートされている並列ライブラリ (MPI4PY など) にリンクする任意のアプリケーションをプロファイルできます。 ビューアとサポートユーティリティを備えたHPCパフォーマンス分析ツール。主に並列アプリケーション向けに設計されており、MPI、OpenMP、CUDA、OpenCL、pthreads、OmpSsをサポートしています。追加機能として、ユーザー関数のトレースやPAPI経由のハードウェアイベントキャプチャなどがあります。 フリー/オープンソース - LGPL-2.1
核融合炉 Linux、Windows、macOS、AWS、Azure、Google Cloud Java、ColdFusion、Apache、MongoDBはJVMでサポートされているあらゆる言語で動作しますアプリケーションパフォーマンス管理とパフォーマンスおよび根本原因分析を実行します。APMと低レベル開発者スタイルツールを組み合わせ、デバッガー、Java、メモリ、スレッド、CPUプロファイラーも含まれています。 独自の
Electric Software, Inc. の GlowCode ウィンドウズ 64 ビットおよび 32 ビット アプリケーション、C、C++、.NET、および任意の言語コンパイラによって生成された dll。 時間のかかる関数を識別し、メモリ リークとエラーを検出するパフォーマンスおよびメモリ プロファイラー。 独自の
gprofLinux/Unix gccでサポートされている任意の言語サンプリングとコールグラフプロファイリングを組み合わせたツールがいくつかあります。可視化ツールセットであるVCG ツール は、コールグラフ描画インターフェース(CGDI)を使用して gprof とインターフェースします。gprof とインターフェースする別の可視化ツールとしてKProfがあります。 フリー/オープンソース - BSD バージョンは4.2BSDの一部であり、GNU バージョンはGNU Binutils ( GNU プロジェクトによる) の一部です。
HWPMCFreeBSD 6.0以降 複数のアーキテクチャをサポートする、システムレベルおよびプロセスレベルのカウントとサンプリングを行うハードウェア パフォーマンス監視フレームワーク。 BSD
インスタナ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ブラウザ、Apache、Nginx、Cassandra、Hadoop、MongoDB、Elasticsearch、Kafka アプリケーション パフォーマンス管理を参照してください。 独自の
Xcodeを使った楽器macOS C、C++、Objective-C/C++、Swift、Cocoa アプリ。 Instruments は、CPU アクティビティの変化、メモリ割り当て、ネットワークおよびファイル アクティビティなど、アプリケーションで発生するすべてのイベントをグラフや統計とともに表示するタイムラインを表示します。

イベントのグループは、ファイル アクティビティ、メモリ割り当て、時間プロファイラー、GPU アクティビティなどから特定のインストルメントを選択することで監視されます。実行可能ファイルのシステム全体への影響については、システム トレース、システム使用状況、ネットワーク使用状況、エネルギー ログなどが役立ちます。

無料。独自仕様。同じく無料の Xcode にバンドルされています。
インテルアドバイザーLinux および Windows。macOS ではビューアのみ。 C、C++、データ並列C++、Fortran 設計および分析ツールのコレクション - ベクトル化 (SIMD) 最適化、スレッド プロトタイピング、自動ルーフライン分析、オフロード モデリング、フロー グラフ分析 フリーウェアおよび独自仕様。Intel oneAPI Base Toolkitの一部として利用可能です。
Linux トレース ツールキット(LTT) リナックス パッチを適用したカーネルが必要 プロセスのブロッキング、コンテキストスイッチ、実行時間に関するデータを収集します。これは、複数のプロセスまたはスレッドにわたるパフォーマンスの問題を特定するのに役立ちます。LTTng に置き換えられましGPL
LTTng (Linux トレース ツールキット次世代) リナックス カーネル、アプリケーション、ライブラリの相関トレース用のシステム ソフトウェア パッケージ。 GPL/LGPL/MIT
Oプロフィールリナックス 割り込みハンドラーやカーネル自体などのプロファイル作成が難しいプログラムを含む、Linux システム上で実行されているすべてのものをプロファイルします。 キャッシュミス、ストール、メモリフェッチなどをカウントする Linux 用のサンプリング プロファイラー。 オープンソース GPLv2
Oracle Solaris StudioパフォーマンスアナライザLinux、Solaris C、C++、Fortran、Java、MPIパフォーマンスとメモリのプロファイラー。 プロプライエタリフリーウェア
パフォーマンスツールLinuxカーネル2.6.31以上 複数のアーキテクチャ上のハードウェア イベントをサポートするサンプリング プロファイラー。 GPL
パフォーマンス アプリケーション プログラミング インターフェース(PAPI) 様々な 最新のマイクロプロセッサ上のハードウェア パフォーマンス カウンターのライブラリ。
IntelによるピンLinux、Windows、macOS、Android ユーザーがカスタム プログラム分析ツールを作成できるようにする動的バイナリ インストルメンテーション システム。 非商用利用は無料ですが、プロプライエタリです
ラショナル ピュリファイプラスAIX、Linux、Solaris、Windows パフォーマンス プロファイリング ツール、メモリ デバッガーコード カバレッジツール。 独自の
スカラスカリナックス C/C++、Fortran 並列トレース アナライザー。 フリー/オープンソース(BSDライセンス)
Appleの SharkmacOS(10.7で廃止) パフォーマンス アナライザー。 プロプライエタリフリーウェア
超光速Windows、Xbox One、PlayStation C++、Rust、.NET ゲーム開発に重点を置いたパフォーマンス プロファイラー (サンプリングまたはインストルメント) およびアナライザー。 独自の
システムタップリナックス プログラム可能なシステム トレース/プローブ ツール。カーネルやそのユーザー空間の時間ベース、パフォーマンス カウンタ ベース、または関数ベースのプロファイルを生成するようにスクリプト化できます。 オープンソース
ヴァルグリンドLinux、FreeBSD、Solaris/illumos、macOS、Android アセンブラを含むすべて デバッグとプロファイリングのためのシステム。メモリ管理とスレッドのバグを検出したり、パフォーマンスをプロファイリングするためのツール(cachegrindとcallgrind)をサポートしています。KCacheGrind valkyrie、alleyoopはvalgrindのフロントエンドです。 フリー/オープンソース(GPL)
Intel CorporationのVTune Profiler

(旧称 VTune Amplifier)

Linux、Windows、macOS はビューアのみ C、C++、C#、データ並列C++(DPC++)、Fortran、.NET、Java、Python、Go、ASMアセンブリ サンプリング、インストルメンテーション、プロセッサトレース技術を用いて実装されたプロファイリング分析のコレクション。ホットスポット、スレッド、HPC、I/O、FPGA、GPU、システム、スロットリング、マイクロアーキテクチャの分析が含まれます。 フリーウェアおよびプロプライエタリ。Intel oneAPI ベース ツールキットの一部としても利用可能です。
MicrosoftWindows パフォーマンス分析ツールキットWindows、Linux、Android CPUサンプリング、CPUスケジューリング、ディスクなど、システム全体の主要なWindowsパフォーマンス分析ツール。Linux LTTngおよびPerf CPUサンプリングトレース、さらにプラグイン経由でAndroid Perfettoトレースも開くことができます。 Linux / Android オープンソースプラグインを備えた独自のフリーウェア
右回転ズーム Linux、macOS、Windows のビューアのみ ARM および x86 プロセッサ上のほとんどのコンパイル言語をサポートします。 グラフィカルおよびコマンドラインの統計 (イベントベース) プロファイラー。
ビジュアルシムLinux、macOS、Microsoft Windows C/C++/SystemCをサポート 複雑な電子システムのアーキテクチャを選択し、パフォーマンス、電力、信頼性の観点から分析および検証するためのグラフィカル モデリングおよびシミュレーション プラットフォーム。 独自の

CとC++

  • Linux プラットフォームをサポートするパフォーマンス プロファイラー、Arm MAP 。
  • AppDynamics は、SDK 経由の C/C++ アプリケーション向けのアプリケーション パフォーマンス管理サービスです。
  • AQtime Pro は、Microsoft Visual Studio および Embarcadero RAD Studio に統合することも、スタンドアロン アプリケーションとして実行することもできるパフォーマンス プロファイラーおよびメモリ割り当てデバッガーです。
  • IBM Rational Purify は、パフォーマンス分析を可能にするメモリ デバッガーでした。
  • Instruments (Xcode にバンドル) は、実行可能ファイルのメモリ割り当て、時間の使用、ファイルシステムのアクティビティ、GPU アクティビティなどをプロファイルするために使用されます。
  • Intel Parallel Studioには、シリアルプログラムと並列プログラムの両方をチューニングする Intel VTune Amplifier が含まれています。また、Intel Advisor と Intel Inspector も含まれています。Intel Advisor はベクトル化(SIMD 命令の使用)を最適化し、スレッド実装のプロトタイプを作成します。Intel Inspector は、競合、デッドロック、メモリエラーを検出してデバッグします。
  • Parasoft Insure++は、メモリの割り当てをリアルタイムで表示およびアニメーション化し、メモリの急増、断片化、過剰使用、ボトルネック、リークを明らかにするグラフィカル ツールを提供します。
  • Visual Studio Team System Profiler は、Microsoft の商用プロファイラーです。

ジャワ

JavaScript

。ネット

  • CLR プロファイラーは、 CLRアプリケーション用に Microsoft が提供する無料のメモリ プロファイラーです。
  • GlowCodeは、C#やその他の.NET言語を使用した.NETアプリケーション向けのパフォーマンスおよびメモリプロファイラーです。ネイティブ、マネージド、そしてWindows x64とx86の混在アプリケーションにおいて、時間のかかる関数を特定し、メモリリークやエラーを検出します。
  • ビジュアルスタジオ

PHP

参照

参考文献

  1. ^ “CodeXL” . 2013年9月19日時点のオリジナルよりアーカイブ。2013年9月26日閲覧。
  2. ^ 「パフォーマンス - Firefox 開発ツール | MDN」MDN Web Docs . 2021年10月27日閲覧