- or download this
#! /usr/bin/perl -w
use strict;
...
my %assign;
$assign{alpha} = 'foo';
$assign{bravo} = 'bar';
- or download this
% perl bench-hslice 100000
Benchmark: timing 100000 iterations of Assign_02, Assign_16, Assign_32
+, Assign_64, Slice_02, Slice_16, Slice_32, Slice_64...
...
Slice_32: 19 wallclock secs (18.56 usr + 0.01 sys = 18.57 CPU)
Slice_64: 39 wallclock secs (38.43 usr + 0.00 sys = 38.43 CPU)
- or download this
my %slice;
@slice{ qw/alpha bravo charlie delta/ } =
( $omega, $x, $brown, $plane );
- or download this
my %slice;
@slice{
...
'bravo' = $x,
# ...
};
- or download this
my %slice;
@slice{
...
bravo => $x,
# ...
};
- or download this
% perl bench-hslice2 100000
Benchmark: timing 100000 iterations of Assign_02, Assign_16, Assign_32
+, Assign_64, Slice_02, Slice_16, Slice_32, Slice_64...
...
Slice_16: 7 wallclock secs ( 6.57 usr + 0.00 sys = 6.57 CPU)
Slice_32: 13 wallclock secs (12.76 usr + 0.00 sys = 12.76 CPU)
Slice_64: 26 wallclock secs (26.11 usr + 0.00 sys = 26.11 CPU)
- or download this
% perl hslice 100000
Benchmark: timing 100000 iterations of Assign_02, Assign_16, Assign_32
+, Assign_64, Slice_02, Slice_16, Slice_32, Slice_64...
...
Slice_16: 4 wallclock secs ( 4.21 usr + 0.00 sys = 4.21 CPU) @ 23
+752.97/s (n=100000)
Slice_32: 7 wallclock secs ( 8.30 usr + 0.00 sys = 8.30 CPU) @ 12
+048.19/s (n=100000)
Slice_64: 18 wallclock secs (16.93 usr + 0.01 sys = 16.94 CPU) @ 59
+03.19/s (n=100000)
- or download this
% cat opcode-hslice
#! /usr/bin/perl -w
...
SVOP (0x80d54e0) pp_const PVIV (0x80d1f90) "alpha
+ bravo"
SVOP (0x80d5500) pp_const IV (0x80d1f0c) 0
OP (0x80d54c0) pp_padhv [1]