FreeBASIC マニュアルのトップに戻る

FreeBASIC Profiling for gmon/gprof

目次→教本→プログラマーのための案内Profiling for gmon/gprof←オリジナル・サイト
目次→FreeBASIC のハッキング→FreeBASIC でのハッキングのための情報Profiling for gmon/gprof←オリジナル・サイト

gmon/gprof のプロファイリング 左にメニュー・フレームが表示されていない場合は、ここをクリックして下さい

←リンク元に戻る プログラム開発関連に戻る

プロファイリングは、アプリケーションの性能を分析するために使います。

アプリケーションの性能は、関数が何回呼び出されたか、それらの関数の実行にどのくらいの時間がかかったか、どの関数が他の関数を呼び出しているかによって測定できます。これにより、実行に時間がかかりすぎたり、実行回数が多すぎたりして、最適化の可能性があり検討すべき関数を特定できます。

FreeBASIC はアプリケーションの実行解析に GPROF を使うことができます。 プロファイラの情報はプログラムの実行中に収集され、GPROF は収集されたデータを後で報告するために使われます。

プログラムをプロファイリングするための3つの基本的なステップは次のとおりです:
GPROF の完全なドキュメントはこちらです: https://ftp.gnu.org/old-gnu/Manuals/gprof-2.9.1/html_mono/gprof.html
ドキュメントの URL が変更されている場合は、Web で「GNU GPROF」を検索するだけで、関連するリンクを見つけることができるでしょう。

FreeBASIC は関数プロファイリングをサポートしていますが、基本ブロックまたは行単位のプロファイリングはサポートしていません。

プロファイリングのために、プログラムを準備する (gmon/gprof 用)
-profile または -profgen gmon コマンドライン オプションを使ってコンパイルされたコードだけをプロファイリングできます。
プログラムをプロファイリングする準備のために、FreeBASIC コンパイラに -profile または -profgen gmon オプションを渡します。
例:
fbc program.bas -profile
又は
fbc program.bas -profgen gmon
コンパイラは、これにより、アプリケーションの先頭と各関数の先頭に特別な起動コードを挿入するように指示されます。

プログラムのプロファイリング(gmon/gprof用)
プログラムの実行を分析するために必要な情報は、プログラムの実行中に収集されます。
プログラムを実行して、関数呼び出し情報の収集を開始します。この情報は、プログラムと同じディレクトリにある gmon.out というファイルに自動的に保存されます。

プログラムの出力を分析する
GPROF を使って出力を分析します。GPROF のデフォルト レポートには、各列の値の意味に関する説明が含まれています。
GPROF を初めて使用する場合は、まずデフォルト レポートを実行して説明を読んでください。
GPROF からの出力は、リダイレクトによってファイルに保存できます。
GPROF からの出力を profile.txt に保存する:
gprof program[.exe] > profile.txt

説明なしのフラットレポートだけを表示する:
gprof program[.exe] --brief --flat-profile > profile.txt

複数のセッションの結果を組み合わせる
GPROF には、複数の実行セッションの結果を簡単に組み合わせるための '--sum' オプションがあります。以下は使用可能な例です:

FreeBASIC プロファイリング (gmon/gprof 用) 内部機能
'-profile' オプションを有効にすると、プログラムに 1ビット以上のコードが追加されます。

プロファイリング ライブラリ自体は、別のライブラリに含まれている場合もあれば、C ランタイム ライブラリの一部に含まれている場合もあります。

詳細は FreeBASIC のポートによって異なる場合がありますが、FreeBASIC でプロファイリング用にビルドされたソース コードは、GPROF をサポートしている他の言語と互換性があるはずです。

プログラマーのための案内に戻る
FreeBASIC の開発者用情報 に戻る
←リンク元に戻る プログラム開発関連に戻る

ページ歴史:2024-04-30 08:41:08
日本語翻訳:WATANABE Makoto、原文著作者:fxm

ホームページのトップに戻る

表示-非営利-継承