ベンチマーク (benchmark) は、本来は測量において水準となる点を示す語。転じて指標銘柄や標準価格をあらわす。
また、特にコンピュータ分野において、各種の処理能力を測定する行為を指す。また、性能測定のための特別なプログラムをベンチマークプログラムまたはベンチマークソフトウェアと呼ぶ。パソコンの3D処理能力を演算するベンチマークソフトなどがある。新製品のCPUやビデオカードの性能比較などに利用されることが多い。また、ソフトウェアの性能を比較する場合もベンチマークという用語が使われる。たとえば、コンパイラの性能比較やデータベースマネジメントシステムの性能比較などである。
ベンチマークは、異なる部品構成やアーキテクチャのシステムであっても、様々な観点で性能を比較する手段を提供する。
一般的な語句の使い方として、ベンチマークを行う行為を「ベンチマークを取る」と呼ぶ。また、ベンチマークを略して「ベンチ」と呼ぶこともある。
ベンチマークは特定の負荷状況を再現するよう設計されている。元からベンチマーク用に開発されたプログラムは意図的にそのような負荷を作り出す。普通のアプリケーションをベンチマークとして使う場合もあり、この場合はそのアプリケーションの負荷が再現される。アプリケーションを使ったほうが実際の性能をよく表しているが、システム内の特定の部品の性能(ディスク性能、ネットワーク性能など)を測定したい場合などには専用ベンチマークプログラムが使われることが多い。
マイクロプロセッサの設計において、ベンチマークは測定手段となると共に回路化すべき部分の重要な判断基準となる。たとえば、あるベンチマークがあるアプリケーションのアルゴリズムの鍵となる部分を抜き出したものだった場合、そのベンチマークはそのアプリケーションの性能に大きな影響を与える部分を抜き出したものと考えることができる。そのような小さなプログラムをシミュレータで動作させることによって、性能を向上させる手がかりを得ることができる。
2000年ごろまで技術者はSPECを設計時に使っていたが、SPECは非常に大きいプログラムであり、シミュレータで動作させるには適していなかった。1998年、Markus Levy と半導体企業12社は EEMBC(Embedded Microprocessor Benchmark Consortium、組込みプロセッサベンチマーク協会)を設立し*、組込み市場向けのベンチマークを標準化した。これによってSPECよりも小さなプログラムで性能的に問題となるアルゴリズムに注目した測定が可能となった。半導体企業が測定したベンチマーク結果はEEMBCで検証および認定後、公表可能となる。EEMBC は組み込み用プロセッサが益々低消費電力化していくことから、電力消費のベンチマークを標準化しようとしている。
コンピュータ企業はこれまで実性能とかけ離れた非現実的なベンチマーク性能を提示してきた。たとえば、1980年代のコンパイラには浮動小数点演算のベンチマークによく出てくる特定の操作を意味的には等価だがもっと高速な操作に置き換えるものもあった。しかし、そのような小手先の高速化はベンチマーク以外には通用しない。この状況は1990年代中盤ごろに変わってきた。RISCやVLIWアーキテクチャにより、コンパイラ技術が性能に重大な影響を与えることが明らかとなった。現在ではベンチマークはコンパイラ開発で使われることが多い。それは単にベンチマークプログラムの結果を良くするだけではなく、一般のアプリケーションの性能も向上させるために使われている。製造業者はその製品が得意とする分野のベンチマーク結果のみを公表する。このこともベンチマーク結果と実際の性能をかけ離れさせる一因となっている。このような手法を「ベンチマーケティング」などと呼ぶこともある。
ユーザーが製造業者が公表しているベンチマーク結果を使う場合、自分が知っているアプリケーションの負荷に直接関係するベンチマークやなんらかの認証を受けたベンチマーク以外は十分注意する必要がある。ベンチマークは実際のアプリケーションの代替品であり、そのアプリケーションが何らかの理由で使えないときのみ使われるべきものである。性能が最重要課題ならば、実際に使うシステムの負荷をベンチマークとして使う。それが不可能なら実際の負荷になるべく近いベンチマークを使う。そのベンチマークが認証されたものでなければ、慎重さが重要となる。たとえば、同じプログラムで性能を測定しても、入力や負荷状況によって測定結果が逆転することはあり得ないことではない。
また、コンパイラの設定によっては同じソースでも実行効率が変わるので、この点を明らかにする際もベンチマークを取ってどれが最善か調べる。特に、多種のCPUアーキテクチャ上で実行されるプログラムを作っているならば、この作業は入念に行う価値がある。
主な調査項目:
Benchmark | Benchmark (computing) | Benchmark | Benchmark | Benchmark (computer) | Benchmark