Leser: 1
![]() |
|< 1 2 3 4 >| | ![]() |
35 Einträge, 4 Seiten |
my $zahlen = substr($line, 4,index($line, " ", 5) - 4);
1
2
3
4
5
6
Benchmark: timing 1000000 iterations of regex, substr...
regex: 5 wallclock secs ( 4.77 usr + 0.00 sys = 4.77 CPU) @ 209775.54/s (n=1000000)
substr: 1 wallclock secs ( 0.48 usr + 0.00 sys = 0.48 CPU) @ 2083333.33/s (n=1000000)
Der Regex Code sah so aus:
my ($zahl) = $line =~ /-\s(\d+?)\s-/;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
#!/usr/bin/perl use Benchmark; my $line = "-- 23 ----------------------------------- 868689"; timethese(1000000, { substr => sub { my $zahlen = substr($line, 4,index($line, " ", 5) - 4); }, regex1 => sub { my ($zahl) = $line =~ /-\s(\d+?)/; # Mein Ursprungs-RegEx }, regex2 => sub { my ($zahl) = $line =~ /^-- (\d+)/; # Der letzte hier im Thread vorgeschlagene RegEx } });
1
2
3
4
Benchmark: timing 1000000 iterations of regex1, regex2, substr...
regex1: 5 wallclock secs ( 4.15 usr + -0.01 sys = 4.14 CPU) @ 241779.50/s (n=1000000)
regex2: 3 wallclock secs ( 3.41 usr + 0.00 sys = 3.41 CPU) @ 292911.54/s (n=1000000)
substr: 1 wallclock secs ( 0.78 usr + 0.00 sys = 0.78 CPU) @ 1280409.73/s (n=1000000)
1
2
3
4
5
^Z
Benchmark: timing 1000000 iterations of regex1, regex2, substr...
regex1: 4 wallclock secs ( 4.00 usr + -0.02 sys = 3.98 CPU) @ 251004.02/s (n=1000000)
regex2: 3 wallclock secs ( 3.19 usr + 0.00 sys = 3.19 CPU) @ 313774.71/s (n=1000000)
substr: 0 wallclock secs ( 0.72 usr + 0.00 sys = 0.72 CPU) @ 1390820.58/s (n=1000000)
1
2
3
4
Benchmark: timing 1000000 iterations of regex1, regex2, substr...
regex1: 4 wallclock secs ( 4.05 usr + 0.00 sys = 4.05 CPU) @ 247096.61/s (n=1000000)
regex2: 5 wallclock secs ( 3.14 usr + 0.00 sys = 3.14 CPU) @ 318471.34/s (n=1000000)
substr: 2 wallclock secs ( 0.63 usr + 0.00 sys = 0.63 CPU) @ 1600000.00/s (n=1000000)
1
2
3
4
5
6
Benchmark: timing 1000000 iterations of regex1, regex2, substr...
regex1: 2 wallclock secs ( 2.76 usr + 0.00 sys = 2.76 CPU) @ 362318.84/s (n=1000000)
regex2: 2 wallclock secs ( 2.44 usr + 0.00 sys = 2.44 CPU) @ 409836.07/s (n=1000000)
substr: 1 wallclock secs ( 0.86 usr + 0.00 sys = 0.86 CPU) @ 1162790.70/s (n=1000000)
This is perl, v5.8.2 built for i686-linux
![]() |
|< 1 2 3 4 >| | ![]() |
35 Einträge, 4 Seiten |