Hallo,
Tag opi.
Kann ich da noch etwas Tunen?
Ja, einen RegExp im Listenkontext, der liefert mir hier das beste Ergebnis:
Benchmark::cmpthese(-1, {
'substr' => sub { (my $f0 = substr($string, 0, 10)) =~ s/\s+$//;
(my $f1 = substr($string, 11, 10)) =~ s/\s+$//;
(my $f2 = substr($string, 21, 10)) =~ s/\s+$//;
(my $f3 = substr($string, 31, 10)) =~ s/\s+$//;
(my $f4 = substr($string, 41, 10)) =~ s/\s+$//;
(my $f5 = substr($string, 51, 10)) =~ s/\s+$//;
(my $f6 = substr($string, 61, 10)) =~ s/\s+$//;
(my $f7 = substr($string, 71, 10)) =~ s/\s+$//;
(my $f8 = substr($string, 81, 10)) =~ s/\s+$//;
(my $f9 = substr($string, 91, 10)) =~ s/\s+$//;
},
'split' => sub { my @fn = split /\s+/, $string; },
'regexp' => sub { my @fn = $string =~ /(\w+?\d)/g; },
});
>
> Ergibt:
>
> Rate regexp substr split
> regexp 24325/s -- -51% -52%
> substr 49320/s 103% -- -2%
> split 50242/s 107% 2% --
wie kommst du darauf, dass regexp mit 24325 Iterations pro Sekunde
das beste Ergebnis liefert? Für mich ist split noch am schnellsten
mit 50242 Iterations pro (CPU-) Sekunde.
Oder irre ich mich an dieser Stelle etwa?
Greez,
opi
--
Selfcode: ie:( fl:( br:^ va:) ls:] fo:) rl:( n4:? ss:| de:] ch:? mo:|