プログラムの性能を測定するにはどうすればよいでしょうか? すぐに思いつくのは,プログラムの実行時間を測定することです。しかし,現在のコンピュータの環境では,プログラムの実行が常に一定の速度で行われる保証はありません。また,Haskellではすべての値が遅延評価されるという事情もあります。 そこで,今回はHaskellプログラムの性能を測定するために用意されているベンチマーク・フレームワークである「criterionパッケージ」について説明します。 ベンチマーク・フレームワークを使うべき理由 プログラムの性能を測定する手軽な方法は,timeやtimeit.exeを使ってプログラムの実行時間を計ることです。しかし,OSの上では様々なプロセスが動作しており,それによってプログラムの実行時間にばらつきが生じます。ほかにも,実行時間にばらつきを生じさせる要因は数多く存在します。ばらつきを生じさせるす