標準的な試験用プログラムで性能を測り、システム同士を比較する手法。
ベンチマークテストとは、標準化されたテストプログラムを実行し、得られたスコア(点数)でシステムの性能を客観的に比較する手法のことです。ベンチマーク(benchmark)はもともと「基準」という意味です。
性能を「速い気がする」といった感覚で比べると、人によって判断がばらつきます。そこで全員に同じ問題を解かせて点数を付けるようにすれば、誰が見ても同じ基準で比較できます。
身近な例で考えると、共通の模擬試験に似ています。学校が違っても、同じ問題・同じ採点基準で受ければ、点数を並べて学力を客観的に比べられます。上の図解では、同じ標準テストを3つのシステムで実行し、スコアを横並びにして比較しています。
ベンチマークには、測りたい性能に応じていくつかの代表的な規格があります。代表例は次のとおりです。
・SPEC:CPU(=コンピュータの頭脳にあたる演算装置)などの総合性能を測る規格。整数演算を測るSPECint、浮動小数点演算(=小数を含む計算)を測るSPECfpなどがある
・TPC:データベース・トランザクション(=一連のデータ処理のまとまり)の性能を測る規格。TPC-Cなどがある
・その他:グラフィックスやWebサーバなど、用途別のベンチマークもある
このように規格が分かれているのは、測りたい性能の種類が違うからです。たとえば計算の速さを知りたいならSPEC、たくさんの問い合わせをさばく力を知りたいならTPC、というように目的に合った規格を選びます。
ベンチマークの結果は、見方を間違えると誤った判断につながります。次の点に注意して読み解きます。
・同じ条件・同じテストで比較する:違うテストや違う環境のスコアを並べても、公平な比較にはなりません
・用途に合った指標を見る:自分が使いたい処理に近いベンチマークの結果を重視します
・1つのスコアだけで判断しない:処理の種類によって得意不得意があるためです
上の図解のように、同じシステムでもテストの種類が変わるとスコアが変わります。計算は速いが入出力は遅い、といったことが起こるのです。
これは模擬試験で科目ごとに得意不得意があるのと同じです。合計点だけでなく、自分が重視する科目(=用途)の点数を見ることで、本当に自分に合ったシステムを選べます。
Q1. ベンチマークテストの説明として最も適切なものはどれですか。
Q2. CPUなどの総合的な処理性能を測る代表的なベンチマーク規格はどれですか。
Q3. ベンチマーク結果の見方として適切でないものはどれですか。