#topicpath ///////////////////////////////////////////////////////////////////////////////// * 目次 [#p37d612e] #contents(); ///////////////////////////////////////////////////////////////////////////////// * プロファリングとは [#k24b081a] - どの関数が(1)どれだけ処理時間を消費するか、(2)何度呼ばれているか、(3)どの関数を呼んでいる/どの関数に呼ばれているか、などを測定することをプロファイリングという。 - 上記を計測するツールを ''プロファイラ'' と呼ぶ。 ///////////////////////////////////////////////////////////////////////////////// * 調査ツール [#vb8b89ff] //=============================================================================== ** perf [#perf] //------------------------------------------------------------------------------- *** 使い方 [#i6f4783f] - debian では /bin/perf コマンド自体は最初から存在するが、実際の実行には linux-tools パッケージのインストールが必要になる。 - 実行 + 記録 $ perf record <executable-file> -- これでカレントディレクトリに perf.data というファイルが出来る。 + 結果確認 $ perf report //=============================================================================== ** gprof [#gprof] //------------------------------------------------------------------------------- *** 使い方 [#i6f4783f] + 計測対象となるプログラムをビルドする際、 gcc/c++ のオプションに ''-pg'' を渡して実行する。 + 上記でビルドしたプログラムを実行する + プログラムが終了すると、結果を格納した gmon.out というファイルが出力される。 + 結果をみる $ gprof <executable-program> gmon.out ///////////////////////////////////////////////////////////////////////////////// * 参考リンク [#z823753c] - [[minus9d's diary - gprofを使いこなす>http://minus9d.hatenablog.com/entry/20140112/1389502918]] - [[プロファイラ(gprof)>http://nenya.cis.ibaraki.ac.jp/TIPS/gprof.html]]