7. 4. 4 プロファイラを使い、実行時間の内訳を調べる
プロファイルは直訳すると断面ですが、プログラムの断面、 というと各関数の実行時間や、 実行回数をいいます。これらを 測定する道具をプロファイラと呼びます。これを使って、 「実行時間を短くするにはどの辺を調整すればよいか」 を調べます。 例えば GNU の gprof というものがあります。
この gprof は プログラムを書いている人には良く知られていると 思いますが、SystemC で設計する時にも大変役立ちますので、紹介します。
gprof はプロファイリング・ツールとも呼ばれるもので、 プログラムの中の、それぞれの関数の実行時間、実行回数を計測する 道具です。例えば、次のようなファイルからなるプログラムがあった として、この中の decoder.c の中の関数を洗い出し、それらについて 計測してくれます。
c:/cygwin/home/makoto/systemc/mpeg-4-itoh: total 1463 free 6567376 drwxrwxrwx 2 makoto root 0 Jun 24 15:22 . drwxrwxrwx 3 makoto root 0 Jul 8 10:06 .. -rw-rw-rw- 1 makoto root 230551 Jun 24 15:16 decoder.c -rw-rw-rw- 1 makoto root 16289 Mar 5 2003 decoder.h -rw-rw-rw- 1 makoto root 0 Mar 5 2003 decoder_io_driver.h -rw-rw-rw- 1 makoto root 0 Mar 5 2003 decoder_io_driver_def.h -rw-rw-rw- 1 makoto root 292 Mar 5 2003 decoder_local_data.h -rw-rw-rw- 1 makoto root 23684 Feb 26 2003 mouse_enc.bits
以下では、Unix 環境、または Windows なら cygwin を入れて いることを前提とします。
