qwurx [shmem] ~> perl 574821.pl 6000 7000 10000
Array size: 10000
Inserting: 6000 .. 7000
Rate splicing radiant
splicing 46.8/s -- -66%
radiant 137/s 193% --
####
# called as insert1( \@ary, 1, $_ ) for $START .. $END
sub insert1 {
my ( $ra, $index, $elem ) = @_;
@$ra = @$ra[0 .. $index-1], $elem, @$ra[$index .. @$ra-1];
}
# I tested with
sub insert1 {
my ( $ra, $elem, $index ) = @_;
@$ra = @$ra[0 .. $index-1], $elem, @$ra[$index .. @$ra-1];
}
# called as insert1( \@ary, 1, $_ ) for $START .. $END
####
qwurx [shmem] ~> perl 574821.pl 600 700 1000
Array size: 1000
Inserting: 600 .. 700
Rate radiant splicing
radiant 30.5/s -- -98%
splicing 1672/s 5377% --
####
$ perl -v
This is perl, v5.8.8 built for i586-linux-thread-multi
...