コマンドでベンチマークテストをする
ベンチマークテストとは、コンピュータの処理性能を比較・評価するために行われるテストのことである。
ベンチマークテストでは、テスト用のプログラムを実行させてソフトウェアやハードウェアの性能を計測する。
CPUの処理速度やグラフィック描画速度、メモリのアクセス速度など部分的な性能を評価する場合もあれば、コンピュータシステム全体の処理性能を評価する場合もある。
ベンチマークテストを行うことで、そのシステムや製品がどの程度優れているのかを、
具体的な数値をもとに知ることができる。(IT用語辞典バイナリーより)
Hatena::Diaryの kazuhoのメモ置き場に
初期化とか終了処理とか除いたベンチマークの取り方
http://d.hatena.ne.jp/kazuhooku/20091015/1255601331
kazuhoさんの 素晴らしいコードがありますので
これで コマンドプロンプトから ベンチマークを取ろうと思います。
まー 内容は 難しくても いいんです。
コマンドプロンプトでのPerlに慣れる意味と
Perlでベンチマークを取る ということを体験しましょう。
以下のコードを TeraPadで作成して ben.pl と名前をつけて
xamppのhtdocsに置いてくださいね
#!D:/xampp/perl/bin/perl -w #Dドライブの場合
#!C:/xampp/perl/bin/perl -w #Cドライブの場合
use strict;
use warnings;
use Benchmark ();
my %bench;
Benchmark::enablecache();
for (my $i = 0; $i < 100; $i++) {
# ここでいろいろ初期化
push_bench('a', sub { for (1..100000) {} });
# ここでいろいろ終了処理
}
for (my $i = 0; $i < 100; $i++) {
# ここでいろいろ初期化
push_bench('b', sub { for (1..200000) {} });
# ここでいろいろ終了処理
}
Benchmark::cmpthese(\%bench);
sub push_bench {
my ($n, $c) = @_;
my $t = Benchmark::timeit(1, $c);
$bench{$n} = $bench{$n} ? Benchmark::timesum($bench{$n}, $t) : $t;
}
では これを コマンドプロンプトで呼んで実行してみます。
Cドライブの人は DをCに入れ替えて解釈してね
D:¥xampp¥htdocsで Enter キー
D:¥xampp¥htdocs>となるので 続いて
perl ben.pl で Enter キー