ベンチマーク
ある特定の機能を果たすプログラムを書くときに複数の手法が存在した場合、どの手法が最も効率的かを知る上でベンチマークを取る。このときに使うベンチマークは次節以降で紹介される、既成のベンチマークソフトを使うのではなく、下に示すような調査項目を記録できる処理を作成し、それをプログラム中に埋め込んで実行し、計測する。
また、コンパイラの設定によっては同じソースでも実行効率が変わるので、この点を明らかにする際もベンチマークを取ってどれが最善か調べる。特に、多種のCPUアーキテクチャ上で実行されるプログラムを作っているならば、この作業は入念に行う価値がある。
主な調査項目:
特定の処理を終えるまでにかかる時間
特定の時間内に処理できた回数
メモリ消費量の推移
ディスクアクセスの頻度
ページングの回数・量
温度の推移
たとえば、あるベンチマークがあるアプリケーションのアルゴリズムの鍵となる部分を抜き出したものだった場合、そのベンチマークはそのアプリケーションの性能に大きな影響を与える部分を抜き出したものと考えることができる。そのような小さなプログラムをシミュレータで動作させることによって、性能を向上させる手がかりを得ることができる。
2000年ごろまで技術者はSPECを設計時に使っていたが、SPECは非常に大きいプログラムであり、シミュレータで動作させるには適していなかった。1998年、Markus Levy と半導体企業12社は EEMBC(Embedded Microprocessor Benchmark Consortium、組込みプロセッサベンチマーク協会)を設立しEmbedded Microprocessor Benchmark Consortium、組込み市場向けのベンチマークを標準化した。これによってSPECよりも小さなプログラムで性能的に問題となるアルゴリズムに注目した測定が可能となった。半導体企業が測定したベンチマーク結果はEEMBCで検証および認定後、公表可能となる。EEMBC は組み込み用プロセッサが益々低消費電力化していくことから、電力消費のベンチマークを標準化しようとしている。