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

FreeBASIC ProPgProfiling

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

性能情報(プロフィール) 左にメニュー・フレームが表示されていない場合は、ここをクリックして下さい

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

性能情報(プロフィール)は、アプリケーションの性能を分析するために使います。

アプリケーションの性能は、関数が何回、呼ばれるか、これらの関数を実行するのに、どのくらい時間がかかるか、そして、どの関数が他の関数を呼ぶかかによって、測定することができます。
これは、実行するために時間が長くかかるか、またはあまりに何回も実行されるかもしれない、そして、最適化のために見直すの価値がある関数を、特定するために役立ちます。

FreeBASIC は、アプリケーションの実行を分析するのに GPROF を使用します。
プロファイラー情報は、プログラムが動いている間、集められます。そして、GPROF は、その後集まったデータを報告するために、使われます。

プログラムの性能情報を描く3つの基本的なステップは、以下の通りです。


GPROF に関する完全な解説は、下記で参照下さい:
https://ftp.gnu.org/old-gnu/Manuals/gprof-2.9.1/html_mono/gprof.html
上の文書のURLが変更になっていたら、「GNU GPROF」で、ウェブを検索してください。そうすれば、関連リンクが見つかるでしょう。

FreeBASIC は、関数プロファイリングをサポートします。
ベーシック・ブロックや、行単位のプロファイリングでは、ありません。

プロファイリングのために、プログラムを準備する

コードを、-profile コマンドライン・オプションでコンパイルするだけで、性能情報を描くことができます。
-profile オプションを、FreeBASIC コンパイラに渡すと、プログラムの性能情報を描くように準備されます。
これは、それぞれの関数の始めだけでなく、アプリケーションの始めに、特別なスタートアップ・コードを挿入するように、コンパイラに伝えます。

fbc program.bas -profile


プログラムの性能情報を描く

プログラムの実行を分析するのに必要な情報は、プログラムが動いている間に、集められます。
プログラムを動かして、関数呼び出し情報を、収集してください。
この情報は、自動的に、プログラムと同じディレクトリの 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 Profiling Internals
FreeBASIC 内部の性能情報


'-profile' オプションを有効にすると、コードの 1 ないし複数のビットが、プログラムに追加されます。


プロファイリング・ライブラリ自体は、共有ライブラリか、C ランタイム・ライブラリの一部として、あります。


詳細は、FreeBASIC の、あるバージョンと次のバージョンで異なるかもしれません。しかし、FreeBASIC でプロファイルするために構築されたソースコードは、GPROF をサポートする他の言語と、互換性があるでしょう。

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

ページ歴史:2018-02-10 22:42:25
日本語翻訳:WATANABE Makoto、原文著作者:JeffMarshall

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

表示-非営利-継承