Perlについての質問箱 32箱目
レス数が950を超えています。1000を超えると書き込みができなくなります。
0964デフォルトの名無しさん
2007/10/14(日) 23:47:40追試。
#!/usr/bin/perl -w
use strict;
use Benchmark qw(timethese);
timethese(-5, {
For1 => sub { my @arr; $arr[$_] = 1 for 0..9999; 1 },
For2 => sub { my @arr; $_ = 1 for @arr[ 0..9999 ]; 1 },
List => sub { my @arr; @arr = (1) x 10000; 1 },
Map1 => sub { my @arr; map $arr[$_] = 1 , 0..9999; 1 },
Map2 => sub { my @arr; map $_ = 1 , @arr[ 0..9999 ]; 1 },
Map3 => sub { my @arr; map { $arr[$_] = 1 } 0..9999; 1 },
Map4 => sub { my @arr; map { $_ = 1 } @arr[ 0..9999 ]; 1 },
});
For1: 5 wallclock secs ( 5.27 usr + 0.00 sys = 5.27 CPU) @ 129.33/s (n=681)
For2: 5 wallclock secs ( 5.27 usr + 0.00 sys = 5.27 CPU) @ 151.32/s (n=798)
List: 5 wallclock secs ( 5.32 usr + 0.00 sys = 5.32 CPU) @ 367.46/s (n=1955)
Map1: 6 wallclock secs ( 5.27 usr + 0.00 sys = 5.27 CPU) @ 117.95/s (n=622)
Map2: 6 wallclock secs ( 5.24 usr + 0.00 sys = 5.24 CPU) @ 152.23/s (n=798)
Map3: 5 wallclock secs ( 5.27 usr + 0.00 sys = 5.27 CPU) @ 112.07/s (n=591)
Map4: 5 wallclock secs ( 5.30 usr + 0.00 sys = 5.30 CPU) @ 71.93/s (n=381)
レス数が950を超えています。1000を超えると書き込みができなくなります。