- 692 名前:nobodyさん mailto:sage [04/05/13 10:55 ID:???]
- と思ったのだが、最後の式がサブルーチンの値になってしまうので
mapの値はいらないことが処理系にわかるように少し直して use Benchmark qw(:all); @a = (1..1000); timethese(100000, { sum_foreach => sub { my $sum; for (@a) { $sum += $_ } $sum }, sum_map => sub { my $sum; map { $sum += $_ } @a; $sum; }, }); とすれば Benchmark: timing 100000 iterations of sum_foreach, sum_map... sum_foreach: 45 wallclock secs (44.25 usr + 0.00 sys = 44.25 CPU) @ 2259.89/s (n=100000) sum_map: 43 wallclock secs (42.00 usr + 0.01 sys = 42.01 CPU) @ 2380.39/s (n=100000) 疑って悪かった。ごめんよ。
|

|