プロファイラ【profiler】

プロファイラとは?

プログラムの実行状況を監視・記録し、各処理の実行時間や関数の呼び出し回数、資源利用状況などを集計・解析するツール。主にソフトウェア開発における性能測定・改善に用いられる。統合開発環境IDE)の機能として組み込まれているほか、単体のツールとしても提供されている。
プロファイラのイメージ画像

プロファイラが収集するデータは大きく二種類ある。一つは「トレース」(trace)で、プログラムの起動から終了までに行われた関数呼び出しなどの動作を逐一記録し、時系列に並べて出力したものである。もう一つは「プロファイル」(profile)で、関数ごとの呼び出し回数や処理時間を集計し、合計や平均などの統計値としてまとめたものである。

収集対象となる情報には実行時間やCPU使用率メモリ消費量、ストレージネットワークへの入出力(I/O)処理の発生状況などがある。収集方式には、関数の呼び出しと返却のたびに詳細を記録するインストルメンテーション(instrumentation)方式と、一定間隔でプログラムの実行状態を記録するサンプリング(sampling)方式があり、精度とオーバーヘッドのバランスに応じて使い分けられる。

こうした情報をもとに、開発者はプログラム中で実行頻度が高い箇所や処理時間の長い箇所を特定できる。そのような箇所は「ホットスポット」(hotspot)または「ホットパス」(hot path)と呼ばれ、集中的に最適化することで性能を効率よく向上させられる。メモリリークのように解放されないまま残り続けるメモリ領域の特定にも用いられる。

近年ではクラウドサービス分散システムの普及に伴い、複数のサーバ間での処理遅延や依存関係を追跡する分散トレーシング機能を備えたプロファイラも普及している。本番環境に常時組み込んでシステム全体の稼働状況を監視するAPMApplication Performance Management)ツールの一部として提供される事例も増えている。

(2026.6.11更新)

他の辞典等による「プロファイラ」の解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。