2011年6月7日火曜日

s///gとtr///のベンチマーク


このエントリーをはてなブックマークに追加




use Benchmark qw(:all);

$num = 100000000;
$word = $word2 = '1'x$num;

$results = timethese(1, {
'tr' => sub { $word =~ tr/1/2/ ;},
's' => sub { $word2 =~ s/1/2/g;},
},
'none'
);

cmpthese( $results );


trの圧勝でした。



s/iter s tr
s 19.0 -- -99%
tr 0.120 15767% --



と思ったら、tr///dじゃないからダメだ。
あとで計測しなおす。





0 件のコメント:

コメントを投稿