おてがるoprofile

valgrindにあわせて、この前使ったoprofileの記事も書こう。

oprofileはIOIでは使えないけど、SuperConの定数倍最適化のために使った。

前回と同じように、-gオプションを付けてコンパイル。

で、以下のようなシェルスクリプトを用意した。

#!/bin/sh
sudo opcontrol --reset >&2
sudo opcontrol --init >&2
sudo opcontrol --start >&2
$@
sudo opcontrol --stop >&2
sudo opcontrol --dump >&2

これを使って以下のように実行する。

$ ./profile.sh ./mecho < Day\ 2/mecho/mecho.007.in 2>/dev/null

で、プロファイル結果を表示。

$ opannotate --source mecho|less

こんな感じ。
http://gyazo.com/2e0e972e8abc0355401926c0be6ae599.png