This is magnitudes slower:
#!perl
use 5.006;
use strict;
use warnings;
use Benchmark qw(:all) ;
use Data::Dumper;
my $diffs = join(' ', (map { "$_:$_" } (0..49)));
timethese( 50_000, {
'split' => sub {
my $LCS = [];
for my $diff ( split ' ', $diffs ) {
my( $x, $y ) = split ':', $diff;
#push @$LCS, [$x,$y];
}
},
});
############
~/github/LCS-XS/xt$ perl split.t
Benchmark: timing 50000 iterations of split...
split: 2 wallclock secs ( 2.04 usr + 0.00 sys = 2.04 CPU) @ 24
+509.80/s (n=50000)
24 kHz without push, with push 11 kHz.