> IIRC, a long time ago I send you a patch for Sort::Maker benchmarking
> script incorporating Sort::Key variants that showed how faster my module
> can be. I would try to find it and send it to you again.

Well, I have been unable to find it... but I have redone it :-)

Attached are the patch that adds tests for Sort::Key variants to your
testing/benchmarking scripts in Sort::Maker and the output I get when I
run them on my computer.

You can see that Sort::Key sorters are usually between 2 and 3 times
faster than any variant generated by Sort::Maker.

To be fair, I have to said that in my experience, as the size of the
lists to be sorted increases, the gap becomes smaller and for really
large data sets, Sort::Key sorters are around 1.5 times faster than the
GRT ones generated by Sort::Maker.

Memory usage is usually also quite lower in Sort::Key. That's an
important thing to consider when your data sets are really big.

diff --git a/t/common.pm b/t/common.pm
index 1ac5082..8bdd708 100644
--- a/t/common.pm
+++ b/t/common.pm
@@ -44,6 +44,7 @@ sub test_driver {
 		}
 
 		make_test_sorters( $test, $default_styles ) ;
+                make_sk_sorters($test);
 
 		if ( $test->{error} ) {
 
@@ -131,6 +132,7 @@ sub benchmark_driver {
 		$test->{input_sets} = [generate_data( $test, $default_sizes )] ;
 
 		make_test_sorters( $test, $default_styles ) ;
+                make_sk_sorters($test) ;
 
 		run_benchmarks( $test, $duration ) ;
 	}
@@ -146,7 +148,7 @@ sub run_benchmarks {
 
 		$entries{ $name } = $name =~ /ref_in/ ?
 			sub { my @sorted = $sorter->( $in_ref ) } :
-			sub { my @sorted = $sorter->( @input ) } ;
+                        sub { my @sorted = $sorter->( @input ) } ;
 	}
 
 	$entries{ 'gold' } =
@@ -170,7 +172,19 @@ sub generate_data {
 	my( $test, $default_sizes ) = @_ ;
 
 	my $gen_code = $test->{gen} ;
-	$gen_code or die "no 'gen' code for test $test->{name}" ;
+	if( not defined $gen_code) {
+            if ($test->{data}) {
+                my $data = $test->{data};
+                my $ix = -1;
+                $gen_code = sub {
+                    $ix = ($ix + 1) % @$data;
+                    $data->[$ix]
+                }
+            }
+            else {
+                die "no 'gen' code for test $test->{name}" ;
+            }
+        }
 
 	my @sizes = @{ $test->{sizes} || $default_sizes || [100] } ;
 
@@ -241,6 +255,71 @@ sub make_test_sorters {
 	return 1 ;
 }
 
+my %pre_mod = map { $_ => 1 } qw(signed signed_float unsigned unsigned_float);
+my %post_mod = map { $_ => 1 } qw(descending ascending fixed varying no_case case);
+
+sub make_sk_sorters {
+    my $test = shift;
+    if (eval { require Sort::Key; 1 }) {
+        unless ($test->{ref_in} or $test->{ref_out}) {
+            my $args = $test->{args} or die "$test->{name} has no args\n" ;
+            my $arg_sets = ( ref $args eq 'HASH' ) ? $args : { '' => $args } ;
+            TEST: foreach my $arg_name ( sort keys %{$arg_sets} ) {
+		my $test_args = $arg_sets->{$arg_name} ;
+                my $sort_name = $arg_name ? "SK_$arg_name" : "SK";
+                my $init = '';
+                my @code;
+                my @types;
+                my @test_args = @$test_args;
+                while (@test_args) {
+                    my ($type, %mod);
+                    while (1) {
+                        $type = shift @test_args;
+                        last unless $pre_mod{$type};
+                        $mod{$type} = 1;
+                        die "bad type specification" unless @test_args;
+                    }
+                    while (@test_args and $post_mod{$test_args[0]}) {
+                        my $mod = shift @test_args;
+                        $mod{$mod} = 1;
+                        if ($mod =~ /^(?:fixed|no_case)$/) {
+                            next TEST;
+                        }
+                    }
+
+                    my $code = (@test_args ? shift(@test_args) : '$_');
+                    if ($type eq 'init_code') {
+                        $init = $code;
+                    }
+                    else {
+                        if (!ref($code) and $type =~ /^(?:string|number)$/) {
+                            if ($type eq 'number') {
+                                if ($mod{unsigned}) {
+                                    $type = 'uint';
+                                }
+                                if ($mod{signed}) {
+                                    $type = 'int';
+                                }
+                            }
+                            $type = "-$type" if $mod{descending};
+                            push @types, $type;
+                            push @code, $code;
+                        }
+                        else {
+                            warn "unsupported argument, type: $type, ref(code): " . ref($code);
+                            next TEST;
+                        }
+                    }
+                }
+                my $sub = eval "sub { $init (" . join(", ", @code) . ") }";
+                my $sorter = Sort::Key::multikeysorter($sub, @types);
+                $test->{sorters}{$sort_name} = $sorter ;
+            }
+        }
+    }
+    1;
+}
+
 sub count_tests {
 
 	my( $tests, $default_styles ) = @_ ;
Name "main::bench" used only once: possible typo at t/arrays.t line 1.
Sorting 100 elements of 'arrays of strings'
Benchmark: running GRT, SK, ST, gold, orcish, plain for at least 2 CPU 
seconds...
       GRT:  2 wallclock secs ( 2.15 usr +  0.01 sys =  2.16 CPU) @ 3550.46/s 
(n=7669)
        SK:  2 wallclock secs ( 2.19 usr +  0.00 sys =  2.19 CPU) @ 7552.51/s 
(n=16540)
        ST:  2 wallclock secs ( 2.23 usr +  0.00 sys =  2.23 CPU) @ 2188.34/s 
(n=4880)
      gold:  2 wallclock secs ( 2.20 usr +  0.00 sys =  2.20 CPU) @ 1943.64/s 
(n=4276)
    orcish:  2 wallclock secs ( 2.14 usr +  0.00 sys =  2.14 CPU) @ 1476.17/s 
(n=3159)
     plain:  3 wallclock secs ( 2.12 usr +  0.00 sys =  2.12 CPU) @ 971.23/s 
(n=2059)
Sorting 100 elements of 'arrays of numbers'
Benchmark: running GRT, SK, ST, gold, orcish, plain for at least 2 CPU 
seconds...
       GRT:  3 wallclock secs ( 2.23 usr +  0.00 sys =  2.23 CPU) @ 2872.20/s 
(n=6405)
        SK:  2 wallclock secs ( 2.47 usr +  0.02 sys =  2.49 CPU) @ 7207.23/s 
(n=17946)
        ST:  2 wallclock secs ( 1.98 usr +  0.04 sys =  2.02 CPU) @ 2128.71/s 
(n=4300)
      gold:  2 wallclock secs ( 2.00 usr +  0.06 sys =  2.06 CPU) @ 1130.58/s 
(n=2329)
    orcish:  2 wallclock secs ( 2.07 usr +  0.00 sys =  2.07 CPU) @ 1020.29/s 
(n=2112)
     plain:  3 wallclock secs ( 2.38 usr +  0.00 sys =  2.38 CPU) @ 894.96/s 
(n=2130)
Sorting 100 elements of 'arrays of multiple strings'
Benchmark: running GRT, SK, ST, gold, orcish, plain for at least 2 CPU 
seconds...
       GRT:  2 wallclock secs ( 2.29 usr +  0.00 sys =  2.29 CPU) @ 1786.03/s 
(n=4090)
        SK:  2 wallclock secs ( 2.06 usr +  0.00 sys =  2.06 CPU) @ 4403.40/s 
(n=9071)
        ST:  2 wallclock secs ( 2.00 usr +  0.00 sys =  2.00 CPU) @ 1748.00/s 
(n=3496)
      gold:  3 wallclock secs ( 2.43 usr +  0.00 sys =  2.43 CPU) @ 1699.18/s 
(n=4129)
    orcish:  2 wallclock secs ( 2.03 usr +  0.00 sys =  2.03 CPU) @ 1356.16/s 
(n=2753)
     plain:  2 wallclock secs ( 2.20 usr +  0.00 sys =  2.20 CPU) @ 911.36/s 
(n=2005)
Sorting 100 elements of 'arrays of multiple numbers'
Benchmark: running GRT, SK, ST, gold, orcish, plain for at least 2 CPU 
seconds...
       GRT:  2 wallclock secs ( 2.11 usr +  0.00 sys =  2.11 CPU) @ 1581.04/s 
(n=3336)
        SK:  2 wallclock secs ( 2.27 usr +  0.00 sys =  2.27 CPU) @ 6312.33/s 
(n=14329)
        ST:  2 wallclock secs ( 2.18 usr +  0.00 sys =  2.18 CPU) @ 2054.59/s 
(n=4479)
      gold:  2 wallclock secs ( 2.12 usr +  0.00 sys =  2.12 CPU) @ 1947.64/s 
(n=4129)
    orcish:  2 wallclock secs ( 2.11 usr +  0.00 sys =  2.11 CPU) @ 1519.91/s 
(n=3207)
     plain:  2 wallclock secs ( 2.21 usr +  0.00 sys =  2.21 CPU) @ 1103.62/s 
(n=2439)
1..2
Name "main::bench" used only once: possible typo at t/bad_code.t line 1.
ok 1 - bad extraction code - array ref
ok 2 - bad extraction code - scalar ref
no 'gen' code for test closure error at t/common.pm line 185.
unsupported argument, type: string, ref(code): CODE at t/common.pm line 312.
unsupported argument, type: string, ref(code): Regexp at t/common.pm line 312.
Sorting 100 elements of 'regex code'
Benchmark: running GRT_code, GRT_qr, GRT_string, SK_string, ST_code, ST_qr, 
ST_string, gold, orcish_code, orcish_qr, orcish_string, plain_code, plain_qr, 
plain_string for at least 2 CPU seconds...
  GRT_code:  2 wallclock secs ( 2.11 usr +  0.00 sys =  2.11 CPU) @ 2629.86/s 
(n=5549)
    GRT_qr:  2 wallclock secs ( 2.13 usr +  0.00 sys =  2.13 CPU) @ 2724.88/s 
(n=5804)
GRT_string:  2 wallclock secs ( 2.18 usr +  0.00 sys =  2.18 CPU) @ 2662.39/s 
(n=5804)
 SK_string:  2 wallclock secs ( 2.14 usr +  0.00 sys =  2.14 CPU) @ 4784.58/s 
(n=10239)
   ST_code:  2 wallclock secs ( 2.15 usr +  0.00 sys =  2.15 CPU) @ 1920.47/s 
(n=4129)
     ST_qr:  3 wallclock secs ( 2.17 usr +  0.00 sys =  2.17 CPU) @ 1965.90/s 
(n=4266)
 ST_string:  3 wallclock secs ( 2.23 usr +  0.00 sys =  2.23 CPU) @ 1913.00/s 
(n=4266)
      gold:  2 wallclock secs ( 2.09 usr +  0.00 sys =  2.09 CPU) @ 692.82/s 
(n=1448)
orcish_code:  2 wallclock secs ( 2.10 usr +  0.00 sys =  2.10 CPU) @ 2031.43/s 
(n=4266)
 orcish_qr:  2 wallclock secs ( 2.14 usr +  0.00 sys =  2.14 CPU) @ 2088.32/s 
(n=4469)
orcish_string:  2 wallclock secs ( 2.13 usr +  0.00 sys =  2.13 CPU) @ 
2098.12/s (n=4469)
plain_code:  3 wallclock secs ( 2.08 usr +  0.00 sys =  2.08 CPU) @ 517.79/s 
(n=1077)
  plain_qr:  2 wallclock secs ( 2.05 usr +  0.00 sys =  2.05 CPU) @ 577.56/s 
(n=1184)
plain_string:  2 wallclock secs ( 2.26 usr +  0.00 sys =  2.26 CPU) @ 566.37/s 
(n=1280)
unsupported argument, type: string, ref(code): CODE at t/common.pm line 312.
Sorting 100 elements of 'array code'
Benchmark: running GRT_code, GRT_string, SK_string, ST_code, ST_string, gold, 
orcish_code, orcish_string, plain_code, plain_string for at least 2 CPU 
seconds...
  GRT_code:  2 wallclock secs ( 2.15 usr +  0.00 sys =  2.15 CPU) @ 3125.12/s 
(n=6719)
GRT_string:  2 wallclock secs ( 2.14 usr +  0.00 sys =  2.14 CPU) @ 3583.64/s 
(n=7669)
 SK_string:  2 wallclock secs ( 2.13 usr +  0.00 sys =  2.13 CPU) @ 7232.86/s 
(n=15406)
   ST_code:  2 wallclock secs ( 2.18 usr +  0.00 sys =  2.18 CPU) @ 2238.07/s 
(n=4879)
 ST_string:  2 wallclock secs ( 2.13 usr +  0.00 sys =  2.13 CPU) @ 2406.10/s 
(n=5125)
      gold:  2 wallclock secs ( 2.11 usr +  0.00 sys =  2.11 CPU) @ 2122.75/s 
(n=4479)
orcish_code:  3 wallclock secs ( 2.14 usr +  0.00 sys =  2.14 CPU) @ 1353.74/s 
(n=2897)
orcish_string:  3 wallclock secs ( 2.14 usr +  0.00 sys =  2.14 CPU) @ 
1476.17/s (n=3159)
plain_code:  2 wallclock secs ( 2.13 usr +  0.00 sys =  2.13 CPU) @ 752.58/s 
(n=1603)
plain_string:  2 wallclock secs ( 2.13 usr +  0.00 sys =  2.13 CPU) @ 999.06/s 
(n=2128)
unsupported argument, type: string, ref(code): CODE at t/common.pm line 312.
Sorting 100 elements of 'hash code'
Benchmark: running GRT_code, GRT_string, SK_string, ST_code, ST_string, gold, 
orcish_code, orcish_string, plain_code, plain_string for at least 2 CPU 
seconds...
  GRT_code:  2 wallclock secs ( 2.00 usr +  0.00 sys =  2.00 CPU) @ 3048.50/s 
(n=6097)
GRT_string:  2 wallclock secs ( 2.19 usr +  0.00 sys =  2.19 CPU) @ 3501.83/s 
(n=7669)
 SK_string:  2 wallclock secs ( 2.11 usr +  0.00 sys =  2.11 CPU) @ 6791.00/s 
(n=14329)
   ST_code:  3 wallclock secs ( 2.14 usr +  0.00 sys =  2.14 CPU) @ 2176.64/s 
(n=4658)
 ST_string:  2 wallclock secs ( 2.19 usr +  0.00 sys =  2.19 CPU) @ 2454.34/s 
(n=5375)
      gold:  2 wallclock secs ( 2.13 usr +  0.00 sys =  2.13 CPU) @ 1938.97/s 
(n=4130)
orcish_code:  2 wallclock secs ( 2.09 usr +  0.00 sys =  2.09 CPU) @ 1386.12/s 
(n=2897)
orcish_string:  2 wallclock secs ( 2.22 usr +  0.00 sys =  2.22 CPU) @ 
1423.42/s (n=3160)
plain_code:  2 wallclock secs ( 2.10 usr +  0.00 sys =  2.10 CPU) @ 718.10/s 
(n=1508)
plain_string:  2 wallclock secs ( 2.20 usr +  0.00 sys =  2.20 CPU) @ 935.91/s 
(n=2059)
Sorting 100 elements of 'descending fixed - numeric data'
Benchmark: running GRT_fixed, GRT_varying, SK_varying, gold for at least 2 CPU 
seconds...
 GRT_fixed:  2 wallclock secs ( 2.36 usr +  0.00 sys =  2.36 CPU) @ 3033.90/s 
(n=7160)
GRT_varying:  2 wallclock secs ( 2.18 usr +  0.00 sys =  2.18 CPU) @ 2899.08/s 
(n=6320)
SK_varying:  2 wallclock secs ( 2.15 usr +  0.00 sys =  2.15 CPU) @ 7500.93/s 
(n=16127)
      gold:  2 wallclock secs ( 2.12 usr +  0.00 sys =  2.12 CPU) @ 2695.75/s 
(n=5715)
1..11
unsupported argument, type: xxx, ref(code):  at t/common.pm line 312.
ok 1 - NO_STYLE_unknown sort of unknown option
too few keys at t/common.pm line 318
# Looks like you planned 11 tests but ran 1.
# Looks like your test exited with 255 just after 1.
Name "main::bench" used only once: possible typo at t/GRT.t line 1.
Sorting 100 elements of 'simple string'
Benchmark: running GRT, SK, gold for at least 2 CPU seconds...
       GRT:  2 wallclock secs ( 2.13 usr +  0.00 sys =  2.13 CPU) @ 3902.82/s 
(n=8313)
        SK:  2 wallclock secs ( 2.12 usr +  0.00 sys =  2.12 CPU) @ 8063.68/s 
(n=17095)
      gold:  2 wallclock secs ( 2.10 usr +  0.00 sys =  2.10 CPU) @ 2763.81/s 
(n=5804)
Sorting 100 elements of 'unsigned integer'
Benchmark: running GRT, SK, gold for at least 2 CPU seconds...
       GRT:  2 wallclock secs ( 2.09 usr +  0.00 sys =  2.09 CPU) @ 4535.89/s 
(n=9480)
        SK:  2 wallclock secs ( 2.18 usr +  0.00 sys =  2.18 CPU) @ 11600.46/s 
(n=25289)
      gold:  2 wallclock secs ( 2.02 usr +  0.00 sys =  2.02 CPU) @ 2873.27/s 
(n=5804)
Sorting 100 elements of 'unsigned integer descending'
Benchmark: running GRT, SK, gold for at least 2 CPU seconds...
       GRT:  2 wallclock secs ( 2.11 usr +  0.00 sys =  2.11 CPU) @ 4419.43/s 
(n=9325)
        SK:  2 wallclock secs ( 2.19 usr +  0.00 sys =  2.19 CPU) @ 11547.95/s 
(n=25290)
      gold:  2 wallclock secs ( 2.05 usr +  0.00 sys =  2.05 CPU) @ 2942.44/s 
(n=6032)
Sorting 100 elements of 'signed integer'
Benchmark: running GRT, SK, gold for at least 2 CPU seconds...
       GRT:  3 wallclock secs ( 2.23 usr +  0.00 sys =  2.23 CPU) @ 4600.00/s 
(n=10258)
        SK:  3 wallclock secs ( 2.22 usr +  0.00 sys =  2.22 CPU) @ 11553.15/s 
(n=25648)
      gold:  3 wallclock secs ( 2.16 usr +  0.00 sys =  2.16 CPU) @ 2925.46/s 
(n=6319)
Sorting 100 elements of 'signed integer descending'
Benchmark: running GRT, SK, gold for at least 2 CPU seconds...
       GRT:  2 wallclock secs ( 2.12 usr +  0.00 sys =  2.12 CPU) @ 4398.58/s 
(n=9325)
        SK:  3 wallclock secs ( 2.33 usr +  0.00 sys =  2.33 CPU) @ 11012.02/s 
(n=25658)
      gold:  3 wallclock secs ( 2.16 usr +  0.00 sys =  2.16 CPU) @ 2925.46/s 
(n=6319)
Sorting 100 elements of 'unsigned float'
Benchmark: running GRT, SK, gold for at least 2 CPU seconds...
       GRT:  3 wallclock secs ( 2.18 usr +  0.00 sys =  2.18 CPU) @ 3621.10/s 
(n=7894)
        SK:  3 wallclock secs ( 2.18 usr +  0.00 sys =  2.18 CPU) @ 10500.46/s 
(n=22891)
      gold:  3 wallclock secs ( 2.10 usr +  0.00 sys =  2.10 CPU) @ 2872.38/s 
(n=6032)
Sorting 100 elements of 'unsigned float descending'
Benchmark: running GRT, SK, gold for at least 2 CPU seconds...
       GRT:  2 wallclock secs ( 2.04 usr +  0.00 sys =  2.04 CPU) @ 3293.63/s 
(n=6719)
        SK:  2 wallclock secs ( 2.01 usr +  0.00 sys =  2.01 CPU) @ 10369.65/s 
(n=20843)
      gold:  2 wallclock secs ( 2.13 usr +  0.00 sys =  2.13 CPU) @ 2675.12/s 
(n=5698)
Sorting 100 elements of 'signed float'
Benchmark: running GRT, SK, gold for at least 2 CPU seconds...
       GRT:  2 wallclock secs ( 2.16 usr +  0.00 sys =  2.16 CPU) @ 3550.46/s 
(n=7669)
        SK:  2 wallclock secs ( 2.15 usr +  0.00 sys =  2.15 CPU) @ 10646.98/s 
(n=22891)
      gold:  2 wallclock secs ( 2.15 usr +  0.00 sys =  2.15 CPU) @ 2937.67/s 
(n=6316)
Sorting 100 elements of 'signed float descending'
Benchmark: running GRT, SK, gold for at least 2 CPU seconds...
       GRT:  2 wallclock secs ( 2.12 usr +  0.00 sys =  2.12 CPU) @ 3169.34/s 
(n=6719)
        SK:  2 wallclock secs ( 2.17 usr +  0.00 sys =  2.17 CPU) @ 10548.85/s 
(n=22891)
      gold:  2 wallclock secs ( 2.07 usr +  0.00 sys =  2.07 CPU) @ 2803.86/s 
(n=5804)
Sorting 100 elements of 'plain string'
Benchmark: running GRT, SK, gold for at least 2 CPU seconds...
       GRT:  2 wallclock secs ( 2.19 usr +  0.00 sys =  2.19 CPU) @ 3735.16/s 
(n=8180)
        SK:  2 wallclock secs ( 2.16 usr +  0.00 sys =  2.16 CPU) @ 7309.26/s 
(n=15788)
      gold:  3 wallclock secs ( 2.14 usr +  0.00 sys =  2.14 CPU) @ 2511.68/s 
(n=5375)
unsupported argument, type: no_case, ref(code):  at t/common.pm line 312.
Sorting 100 elements of 'plain string no_case'
Benchmark: running GRT, gold for at least 2 CPU seconds...
       GRT:  2 wallclock secs ( 2.19 usr +  0.00 sys =  2.19 CPU) @ 4091.32/s 
(n=8960)
      gold:  2 wallclock secs ( 2.14 usr +  0.00 sys =  2.14 CPU) @ 2176.64/s 
(n=4658)
Sorting 100 elements of 'fixed string'
Benchmark: running GRT, gold for at least 2 CPU seconds...
       GRT:  2 wallclock secs ( 2.17 usr +  0.00 sys =  2.17 CPU) @ 3811.06/s 
(n=8270)
      gold:  2 wallclock secs ( 2.13 usr +  0.00 sys =  2.13 CPU) @ 2683.10/s 
(n=5715)
Sorting 100 elements of 'string no_case fixed'
Benchmark: running GRT, gold for at least 2 CPU seconds...
       GRT:  2 wallclock secs ( 2.21 usr +  0.00 sys =  2.21 CPU) @ 4055.66/s 
(n=8963)
      gold:  2 wallclock secs ( 2.07 usr +  0.00 sys =  2.07 CPU) @ 2250.24/s 
(n=4658)
Sorting 100 elements of 'string descending fixed'
Benchmark: running GRT, gold for at least 2 CPU seconds...
       GRT:  2 wallclock secs ( 2.13 usr +  0.00 sys =  2.13 CPU) @ 3600.94/s 
(n=7670)
      gold:  3 wallclock secs ( 2.17 usr +  0.00 sys =  2.17 CPU) @ 2633.64/s 
(n=5715)
Sorting 100 elements of 'string no_case descending fixed'
Benchmark: running GRT, gold for at least 2 CPU seconds...
       GRT:  3 wallclock secs ( 2.44 usr +  0.00 sys =  2.44 CPU) @ 3143.44/s 
(n=7670)
      gold:  3 wallclock secs ( 2.11 usr +  0.00 sys =  2.11 CPU) @ 2207.58/s 
(n=4658)
Sorting 100 elements of 'varying string'
Benchmark: running GRT, SK, gold for at least 2 CPU seconds...
       GRT:  2 wallclock secs ( 2.05 usr +  0.00 sys =  2.05 CPU) @ 2831.22/s 
(n=5804)
        SK:  2 wallclock secs ( 2.20 usr +  0.00 sys =  2.20 CPU) @ 7176.36/s 
(n=15788)
      gold:  2 wallclock secs ( 2.17 usr +  0.00 sys =  2.17 CPU) @ 2633.64/s 
(n=5715)
Sorting 100 elements of 'string no_case varying'
Benchmark: running GRT, gold for at least 2 CPU seconds...
       GRT:  2 wallclock secs ( 2.18 usr +  0.00 sys =  2.18 CPU) @ 3077.98/s 
(n=6710)
      gold:  2 wallclock secs ( 2.19 usr +  0.00 sys =  2.19 CPU) @ 2227.85/s 
(n=4879)
Sorting 100 elements of 'string descending varying'
Benchmark: running GRT, SK, gold for at least 2 CPU seconds...
       GRT:  2 wallclock secs ( 2.18 usr +  0.00 sys =  2.18 CPU) @ 2790.37/s 
(n=6083)
        SK:  2 wallclock secs ( 2.21 usr +  0.00 sys =  2.21 CPU) @ 6945.70/s 
(n=15350)
      gold:  2 wallclock secs ( 2.00 usr +  0.00 sys =  2.00 CPU) @ 2601.50/s 
(n=5203)
Sorting 100 elements of 'string no_case descending varying'
Benchmark: running GRT, gold for at least 2 CPU seconds...
       GRT:  2 wallclock secs ( 2.17 usr +  0.00 sys =  2.17 CPU) @ 2674.65/s 
(n=5804)
      gold:  2 wallclock secs ( 2.03 usr +  0.00 sys =  2.03 CPU) @ 2194.58/s 
(n=4455)
Name "main::bench" used only once: possible typo at t/hashes.t line 1.
Sorting 100 elements of 'hashes of strings'
Benchmark: running GRT, SK, ST, gold, orcish, plain for at least 2 CPU 
seconds...
       GRT:  2 wallclock secs ( 2.34 usr +  0.00 sys =  2.34 CPU) @ 3282.05/s 
(n=7680)
        SK:  2 wallclock secs ( 2.03 usr +  0.00 sys =  2.03 CPU) @ 6987.19/s 
(n=14184)
        ST:  2 wallclock secs ( 2.21 usr +  0.00 sys =  2.21 CPU) @ 2432.13/s 
(n=5375)
      gold:  2 wallclock secs ( 2.08 usr +  0.00 sys =  2.08 CPU) @ 1895.19/s 
(n=3942)
    orcish:  2 wallclock secs ( 2.33 usr +  0.00 sys =  2.33 CPU) @ 1437.77/s 
(n=3350)
     plain:  2 wallclock secs ( 2.18 usr +  0.00 sys =  2.18 CPU) @ 944.95/s 
(n=2060)
Sorting 100 elements of 'hashes of numbers'
Benchmark: running GRT, SK, ST, gold, orcish, plain for at least 2 CPU 
seconds...
       GRT:  2 wallclock secs ( 2.14 usr +  0.00 sys =  2.14 CPU) @ 3135.05/s 
(n=6709)
        SK:  3 wallclock secs ( 2.17 usr +  0.00 sys =  2.17 CPU) @ 8594.93/s 
(n=18651)
        ST:  2 wallclock secs ( 2.07 usr +  0.00 sys =  2.07 CPU) @ 2803.86/s 
(n=5804)
      gold:  2 wallclock secs ( 2.12 usr +  0.00 sys =  2.12 CPU) @ 1947.64/s 
(n=4129)
    orcish:  2 wallclock secs ( 2.09 usr +  0.00 sys =  2.09 CPU) @ 1602.39/s 
(n=3349)
     plain:  2 wallclock secs ( 2.12 usr +  0.00 sys =  2.12 CPU) @ 1153.77/s 
(n=2446)
Sorting 100 elements of 'hashes of multiple strings'
Benchmark: running GRT, SK, ST, gold, orcish, plain for at least 2 CPU 
seconds...
       GRT:  2 wallclock secs ( 2.02 usr +  0.00 sys =  2.02 CPU) @ 2575.74/s 
(n=5203)
        SK:  2 wallclock secs ( 2.18 usr +  0.00 sys =  2.18 CPU) @ 5248.17/s 
(n=11441)
        ST:  3 wallclock secs ( 2.13 usr +  0.00 sys =  2.13 CPU) @ 1915.96/s 
(n=4081)
      gold:  2 wallclock secs ( 2.11 usr +  0.00 sys =  2.11 CPU) @ 1868.25/s 
(n=3942)
    orcish:  2 wallclock secs ( 2.11 usr +  0.00 sys =  2.11 CPU) @ 1410.43/s 
(n=2976)
     plain:  2 wallclock secs ( 2.17 usr +  0.00 sys =  2.17 CPU) @ 844.24/s 
(n=1832)
Sorting 100 elements of 'hashes of multiple numbers'
Benchmark: running GRT, SK, ST, gold, orcish, plain for at least 2 CPU 
seconds...
       GRT:  4 wallclock secs ( 3.61 usr +  0.01 sys =  3.62 CPU) @ 1179.28/s 
(n=4269)
        SK:  3 wallclock secs ( 2.02 usr +  0.01 sys =  2.03 CPU) @ 4587.68/s 
(n=9313)
        ST:  2 wallclock secs ( 2.13 usr +  0.00 sys =  2.13 CPU) @ 2290.61/s 
(n=4879)
      gold:  2 wallclock secs ( 2.14 usr +  0.00 sys =  2.14 CPU) @ 1842.06/s 
(n=3942)
    orcish:  2 wallclock secs ( 2.18 usr +  0.00 sys =  2.18 CPU) @ 1540.83/s 
(n=3359)
     plain:  2 wallclock secs ( 2.20 usr +  0.00 sys =  2.20 CPU) @ 1108.64/s 
(n=2439)
Name "main::bench" used only once: possible typo at t/init_code.t line 1.
Sorting 400 elements of 'init_code'
Benchmark: running GRT_init_code, GRT_no_init, SK_init_code, SK_no_init, 
ST_init_code, ST_no_init, gold for at least 2 CPU seconds...
GRT_init_code:  2 wallclock secs ( 2.14 usr +  0.00 sys =  2.14 CPU) @ 214.02/s 
(n=458)
GRT_no_init:  3 wallclock secs ( 2.10 usr +  0.00 sys =  2.10 CPU) @ 231.43/s 
(n=486)
SK_init_code:  2 wallclock secs ( 2.18 usr +  0.00 sys =  2.18 CPU) @ 472.48/s 
(n=1030)
SK_no_init:  2 wallclock secs ( 2.14 usr +  0.00 sys =  2.14 CPU) @ 738.32/s 
(n=1580)
ST_init_code:  2 wallclock secs ( 2.10 usr +  0.00 sys =  2.10 CPU) @ 254.29/s 
(n=534)
ST_no_init:  2 wallclock secs ( 2.15 usr +  0.00 sys =  2.15 CPU) @ 283.72/s 
(n=610)
      gold:  3 wallclock secs ( 2.08 usr +  0.00 sys =  2.08 CPU) @ 82.69/s 
(n=172)
Sorting 1000 elements of 'init_code'
Benchmark: running GRT_init_code, GRT_no_init, SK_init_code, SK_no_init, 
ST_init_code, ST_no_init, gold for at least 2 CPU seconds...
GRT_init_code:  2 wallclock secs ( 2.23 usr +  0.00 sys =  2.23 CPU) @ 78.48/s 
(n=175)
GRT_no_init:  2 wallclock secs ( 2.08 usr +  0.00 sys =  2.08 CPU) @ 90.87/s 
(n=189)
SK_init_code:  2 wallclock secs ( 2.18 usr +  0.00 sys =  2.18 CPU) @ 178.44/s 
(n=389)
SK_no_init:  2 wallclock secs ( 2.20 usr +  0.00 sys =  2.20 CPU) @ 276.82/s 
(n=609)
ST_init_code:  2 wallclock secs ( 2.15 usr +  0.00 sys =  2.15 CPU) @ 90.70/s 
(n=195)
ST_no_init:  2 wallclock secs ( 2.00 usr +  0.00 sys =  2.00 CPU) @ 100.50/s 
(n=201)
      gold:  2 wallclock secs ( 2.14 usr +  0.00 sys =  2.14 CPU) @ 26.64/s 
(n=57)
Sorting 400 elements of 'deep init_code'
Benchmark: running GRT_init_code, GRT_no_init, SK_init_code, SK_no_init, 
ST_init_code, ST_no_init, gold for at least 2 CPU seconds...
GRT_init_code:  2 wallclock secs ( 2.07 usr +  0.00 sys =  2.07 CPU) @ 187.92/s 
(n=389)
GRT_no_init:  2 wallclock secs ( 2.14 usr +  0.00 sys =  2.14 CPU) @ 181.78/s 
(n=389)
SK_init_code:  2 wallclock secs ( 2.16 usr +  0.00 sys =  2.16 CPU) @ 388.43/s 
(n=839)
SK_no_init:  2 wallclock secs ( 2.31 usr +  0.00 sys =  2.31 CPU) @ 481.82/s 
(n=1113)
ST_init_code:  3 wallclock secs ( 2.07 usr +  0.00 sys =  2.07 CPU) @ 120.29/s 
(n=249)
ST_no_init:  2 wallclock secs ( 2.02 usr +  0.00 sys =  2.02 CPU) @ 180.69/s 
(n=365)
      gold:  2 wallclock secs ( 2.12 usr +  0.00 sys =  2.12 CPU) @ 54.25/s 
(n=115)
Sorting 1000 elements of 'deep init_code'
Benchmark: running GRT_init_code, GRT_no_init, SK_init_code, SK_no_init, 
ST_init_code, ST_no_init, gold for at least 2 CPU seconds...
GRT_init_code:  2 wallclock secs ( 2.13 usr +  0.00 sys =  2.13 CPU) @ 74.65/s 
(n=159)
GRT_no_init:  2 wallclock secs ( 2.09 usr +  0.00 sys =  2.09 CPU) @ 72.73/s 
(n=152)
SK_init_code:  3 wallclock secs ( 2.07 usr +  0.00 sys =  2.07 CPU) @ 154.59/s 
(n=320)
SK_no_init:  3 wallclock secs ( 2.03 usr +  0.00 sys =  2.03 CPU) @ 213.79/s 
(n=434)
ST_init_code:  2 wallclock secs ( 2.01 usr +  0.00 sys =  2.01 CPU) @ 86.57/s 
(n=174)
ST_no_init:  2 wallclock secs ( 2.14 usr +  0.00 sys =  2.14 CPU) @ 88.79/s 
(n=190)
      gold:  2 wallclock secs ( 2.03 usr +  0.00 sys =  2.03 CPU) @ 18.23/s 
(n=37)
unsupported argument, type: ref_in, ref(code):  at t/common.pm line 312.
unsupported argument, type: ref_in, ref(code):  at t/common.pm line 312.
unsupported argument, type: ref_out, ref(code):  at t/common.pm line 312.
Sorting 100 elements of 'simple string'
Benchmark: running GRT_default, GRT_ref_in, GRT_ref_in_ref_out, GRT_ref_out, 
SK_default, ST_default, ST_ref_in, ST_ref_in_ref_out, ST_ref_out, gold, 
orcish_default, orcish_ref_in, orcish_ref_in_ref_out, orcish_ref_out, 
plain_default, plain_ref_in, plain_ref_in_ref_out, plain_ref_out for at least 2 
CPU seconds...
GRT_default:  2 wallclock secs ( 2.18 usr +  0.00 sys =  2.18 CPU) @ 3922.94/s 
(n=8552)
GRT_ref_in:  2 wallclock secs ( 2.11 usr +  0.00 sys =  2.11 CPU) @ 3919.43/s 
(n=8270)
GRT_ref_in_ref_out:  3 wallclock secs ( 2.12 usr +  0.00 sys =  2.12 CPU) @ 
4221.70/s (n=8950)
GRT_ref_out:  2 wallclock secs ( 2.11 usr +  0.00 sys =  2.11 CPU) @ 4227.49/s 
(n=8920)
SK_default:  2 wallclock secs ( 2.12 usr +  0.00 sys =  2.12 CPU) @ 7447.17/s 
(n=15788)
ST_default:  2 wallclock secs ( 2.08 usr +  0.00 sys =  2.08 CPU) @ 2504.81/s 
(n=5210)
 ST_ref_in:  2 wallclock secs ( 2.13 usr +  0.00 sys =  2.13 CPU) @ 2446.01/s 
(n=5210)
ST_ref_in_ref_out:  2 wallclock secs ( 2.17 usr +  0.00 sys =  2.17 CPU) @ 
2474.19/s (n=5369)
ST_ref_out:  2 wallclock secs ( 2.09 usr +  0.00 sys =  2.09 CPU) @ 2492.82/s 
(n=5210)
      gold:  2 wallclock secs ( 2.14 usr +  0.00 sys =  2.14 CPU) @ 2712.15/s 
(n=5804)
orcish_default:  2 wallclock secs ( 2.10 usr +  0.00 sys =  2.10 CPU) @ 
2254.29/s (n=4734)
orcish_ref_in:  2 wallclock secs ( 2.09 usr +  0.00 sys =  2.09 CPU) @ 
2228.71/s (n=4658)
orcish_ref_in_ref_out:  3 wallclock secs ( 2.12 usr +  0.00 sys =  2.12 CPU) @ 
2312.74/s (n=4903)
orcish_ref_out:  2 wallclock secs ( 2.15 usr +  0.00 sys =  2.15 CPU) @ 
2269.30/s (n=4879)
plain_default:  2 wallclock secs ( 2.21 usr +  0.00 sys =  2.21 CPU) @ 
1157.47/s (n=2558)
plain_ref_in:  2 wallclock secs ( 2.14 usr +  0.00 sys =  2.14 CPU) @ 1139.72/s 
(n=2439)
plain_ref_in_ref_out:  2 wallclock secs ( 2.19 usr +  0.00 sys =  2.19 CPU) @ 
1168.49/s (n=2559)
plain_ref_out:  3 wallclock secs ( 2.22 usr +  0.00 sys =  2.22 CPU) @ 
1152.70/s (n=2559)
Sorting 1000 elements of 'simple string'
Benchmark: running GRT_default, GRT_ref_in, GRT_ref_in_ref_out, GRT_ref_out, 
SK_default, ST_default, ST_ref_in, ST_ref_in_ref_out, ST_ref_out, gold, 
orcish_default, orcish_ref_in, orcish_ref_in_ref_out, orcish_ref_out, 
plain_default, plain_ref_in, plain_ref_in_ref_out, plain_ref_out for at least 2 
CPU seconds...
GRT_default:  2 wallclock secs ( 2.02 usr +  0.00 sys =  2.02 CPU) @ 355.94/s 
(n=719)
GRT_ref_in:  2 wallclock secs ( 2.14 usr +  0.00 sys =  2.14 CPU) @ 352.34/s 
(n=754)
GRT_ref_in_ref_out:  2 wallclock secs ( 2.25 usr +  0.00 sys =  2.25 CPU) @ 
372.89/s (n=839)
GRT_ref_out:  2 wallclock secs ( 2.19 usr +  0.01 sys =  2.20 CPU) @ 376.82/s 
(n=829)
SK_default:  2 wallclock secs ( 2.12 usr +  0.00 sys =  2.12 CPU) @ 603.30/s 
(n=1279)
ST_default:  3 wallclock secs ( 2.10 usr +  0.00 sys =  2.10 CPU) @ 190.48/s 
(n=400)
 ST_ref_in:  2 wallclock secs ( 2.04 usr +  0.00 sys =  2.04 CPU) @ 188.24/s 
(n=384)
ST_ref_in_ref_out:  2 wallclock secs ( 2.14 usr +  0.00 sys =  2.14 CPU) @ 
187.38/s (n=401)
ST_ref_out:  2 wallclock secs ( 2.15 usr +  0.00 sys =  2.15 CPU) @ 186.51/s 
(n=401)
      gold:  2 wallclock secs ( 2.14 usr +  0.00 sys =  2.14 CPU) @ 167.76/s 
(n=359)
orcish_default:  2 wallclock secs ( 2.02 usr +  0.00 sys =  2.02 CPU) @ 
151.98/s (n=307)
orcish_ref_in:  2 wallclock secs ( 2.08 usr +  0.00 sys =  2.08 CPU) @ 153.85/s 
(n=320)
orcish_ref_in_ref_out:  2 wallclock secs ( 2.04 usr +  0.00 sys =  2.04 CPU) @ 
156.86/s (n=320)
orcish_ref_out:  2 wallclock secs ( 2.15 usr +  0.00 sys =  2.15 CPU) @ 
153.49/s (n=330)
plain_default:  2 wallclock secs ( 2.19 usr +  0.00 sys =  2.19 CPU) @ 71.69/s 
(n=157)
plain_ref_in:  3 wallclock secs ( 2.22 usr +  0.00 sys =  2.22 CPU) @ 70.72/s 
(n=157)
plain_ref_in_ref_out:  2 wallclock secs ( 2.06 usr +  0.00 sys =  2.06 CPU) @ 
73.79/s (n=152)
plain_ref_out:  2 wallclock secs ( 2.08 usr +  0.00 sys =  2.08 CPU) @ 72.60/s 
(n=151)
unsupported argument, type: ref_in, ref(code):  at t/common.pm line 312.
unsupported argument, type: ref_in, ref(code):  at t/common.pm line 312.
unsupported argument, type: ref_out, ref(code):  at t/common.pm line 312.
Sorting 100 elements of 'simple number'
Benchmark: running GRT_default, GRT_ref_in, GRT_ref_in_ref_out, GRT_ref_out, 
SK_default, ST_default, ST_ref_in, ST_ref_in_ref_out, ST_ref_out, gold, 
orcish_default, orcish_ref_in, orcish_ref_in_ref_out, orcish_ref_out, 
plain_default, plain_ref_in, plain_ref_in_ref_out, plain_ref_out for at least 2 
CPU seconds...
GRT_default:  2 wallclock secs ( 2.15 usr +  0.00 sys =  2.15 CPU) @ 3409.30/s 
(n=7330)
GRT_ref_in:  2 wallclock secs ( 2.10 usr +  0.00 sys =  2.10 CPU) @ 3486.19/s 
(n=7321)
GRT_ref_in_ref_out:  2 wallclock secs ( 2.12 usr +  0.00 sys =  2.12 CPU) @ 
3617.45/s (n=7669)
GRT_ref_out:  3 wallclock secs ( 2.13 usr +  0.00 sys =  2.13 CPU) @ 3706.10/s 
(n=7894)
SK_default:  3 wallclock secs ( 2.29 usr +  0.00 sys =  2.29 CPU) @ 9389.96/s 
(n=21503)
ST_default:  2 wallclock secs ( 2.05 usr +  0.00 sys =  2.05 CPU) @ 2831.22/s 
(n=5804)
 ST_ref_in:  2 wallclock secs ( 2.10 usr +  0.00 sys =  2.10 CPU) @ 2763.81/s 
(n=5804)
ST_ref_in_ref_out:  2 wallclock secs ( 2.12 usr +  0.00 sys =  2.12 CPU) @ 
2845.28/s (n=6032)
ST_ref_out:  2 wallclock secs ( 2.05 usr +  0.00 sys =  2.05 CPU) @ 2831.22/s 
(n=5804)
      gold:  2 wallclock secs ( 2.07 usr +  0.00 sys =  2.07 CPU) @ 2803.86/s 
(n=5804)
orcish_default:  2 wallclock secs ( 2.15 usr +  0.00 sys =  2.15 CPU) @ 
1984.19/s (n=4266)
orcish_ref_in:  2 wallclock secs ( 2.16 usr +  0.00 sys =  2.16 CPU) @ 
1979.63/s (n=4276)
orcish_ref_in_ref_out:  3 wallclock secs ( 2.18 usr +  0.00 sys =  2.18 CPU) @ 
2050.00/s (n=4469)
orcish_ref_out:  2 wallclock secs ( 2.13 usr +  0.00 sys =  2.13 CPU) @ 
2002.82/s (n=4266)
plain_default:  2 wallclock secs ( 2.17 usr +  0.00 sys =  2.17 CPU) @ 
1123.96/s (n=2439)
plain_ref_in:  2 wallclock secs ( 2.13 usr +  0.00 sys =  2.13 CPU) @ 1093.43/s 
(n=2329)
plain_ref_in_ref_out:  2 wallclock secs ( 2.20 usr +  0.00 sys =  2.20 CPU) @ 
1108.64/s (n=2439)
plain_ref_out:  3 wallclock secs ( 2.17 usr +  0.00 sys =  2.17 CPU) @ 
1123.96/s (n=2439)
Sorting 1000 elements of 'simple number'
Benchmark: running GRT_default, GRT_ref_in, GRT_ref_in_ref_out, GRT_ref_out, 
SK_default, ST_default, ST_ref_in, ST_ref_in_ref_out, ST_ref_out, gold, 
orcish_default, orcish_ref_in, orcish_ref_in_ref_out, orcish_ref_out, 
plain_default, plain_ref_in, plain_ref_in_ref_out, plain_ref_out for at least 2 
CPU seconds...
GRT_default:  2 wallclock secs ( 2.01 usr +  0.00 sys =  2.01 CPU) @ 323.38/s 
(n=650)
GRT_ref_in:  2 wallclock secs ( 2.00 usr +  0.00 sys =  2.00 CPU) @ 322.00/s 
(n=644)
GRT_ref_in_ref_out:  2 wallclock secs ( 2.16 usr +  0.00 sys =  2.16 CPU) @ 
327.78/s (n=708)
GRT_ref_out:  2 wallclock secs ( 2.11 usr +  0.00 sys =  2.11 CPU) @ 333.18/s 
(n=703)
SK_default:  2 wallclock secs ( 2.14 usr +  0.00 sys =  2.14 CPU) @ 896.73/s 
(n=1919)
ST_default:  2 wallclock secs ( 2.14 usr +  0.00 sys =  2.14 CPU) @ 212.62/s 
(n=455)
 ST_ref_in:  2 wallclock secs ( 2.09 usr +  0.00 sys =  2.09 CPU) @ 207.66/s 
(n=434)
ST_ref_in_ref_out:  3 wallclock secs ( 2.14 usr +  0.00 sys =  2.14 CPU) @ 
215.42/s (n=461)
ST_ref_out:  2 wallclock secs ( 2.14 usr +  0.00 sys =  2.14 CPU) @ 215.42/s 
(n=461)
      gold:  2 wallclock secs ( 2.10 usr +  0.00 sys =  2.10 CPU) @ 170.95/s 
(n=359)
orcish_default:  2 wallclock secs ( 2.19 usr +  0.00 sys =  2.19 CPU) @ 
129.22/s (n=283)
orcish_ref_in:  2 wallclock secs ( 2.14 usr +  0.00 sys =  2.14 CPU) @ 125.70/s 
(n=269)
orcish_ref_in_ref_out:  3 wallclock secs ( 2.33 usr +  0.00 sys =  2.33 CPU) @ 
115.88/s (n=270)
orcish_ref_out:  2 wallclock secs ( 2.24 usr +  0.00 sys =  2.24 CPU) @ 
126.34/s (n=283)
plain_default:  2 wallclock secs ( 2.00 usr +  0.00 sys =  2.00 CPU) @ 68.00/s 
(n=136)
plain_ref_in:  2 wallclock secs ( 2.14 usr +  0.00 sys =  2.14 CPU) @ 66.82/s 
(n=143)
plain_ref_in_ref_out:  2 wallclock secs ( 2.03 usr +  0.00 sys =  2.03 CPU) @ 
67.00/s (n=136)
plain_ref_out:  2 wallclock secs ( 2.19 usr +  0.00 sys =  2.19 CPU) @ 68.04/s 
(n=149)
1..2
Name "main::bench" used only once: possible typo at t/name.t line 1.
ok 1 - sort name export
ok 2 - sort number
Name "main::bench" used only once: possible typo at t/numbers.t line 1.
Use of uninitialized value $_[0] in pattern match (m//) at 
/usr/local/lib/perl/5.14.2/Sort/Key.pm line 84.
unknown key type ''
 at t/common.pm line 318
unsupported argument, type: ref_in, ref(code):  at t/common.pm line 312.
Sorting 100 elements of 'ref_in varying - max length'
Benchmark: running GRT_ref_in, gold for at least 2 CPU seconds...
GRT_ref_in:  1 wallclock secs ( 2.09 usr +  0.00 sys =  2.09 CPU) @ 1757.42/s 
(n=3673)
      gold:  2 wallclock secs ( 2.08 usr +  0.00 sys =  2.08 CPU) @ 1642.79/s 
(n=3417)
unsupported argument, type: ref_in, ref(code):  at t/common.pm line 312.
Sorting 100 elements of 'ref_in varying descending - max length'
Benchmark: running GRT_ref_in, gold for at least 2 CPU seconds...
GRT_ref_in:  2 wallclock secs ( 2.17 usr +  0.00 sys =  2.17 CPU) @ 1574.65/s 
(n=3417)
      gold:  2 wallclock secs ( 2.13 usr +  0.00 sys =  2.13 CPU) @ 1680.28/s 
(n=3579)
Name "main::bench" used only once: possible typo at t/regex.t line 1.
Sorting 100 elements of 'regex string'
Benchmark: running GRT, SK, ST, gold, orcish, plain for at least 2 CPU 
seconds...
       GRT:  2 wallclock secs ( 2.17 usr +  0.00 sys =  2.17 CPU) @ 2912.44/s 
(n=6320)
        SK:  2 wallclock secs ( 2.24 usr +  0.00 sys =  2.24 CPU) @ 5038.84/s 
(n=11287)
        ST:  2 wallclock secs ( 2.00 usr +  0.00 sys =  2.00 CPU) @ 2074.50/s 
(n=4149)
      gold:  2 wallclock secs ( 2.13 usr +  0.00 sys =  2.13 CPU) @ 679.81/s 
(n=1448)
    orcish:  3 wallclock secs ( 2.20 usr +  0.00 sys =  2.20 CPU) @ 1827.73/s 
(n=4021)
     plain:  2 wallclock secs ( 2.15 usr +  0.00 sys =  2.15 CPU) @ 594.88/s 
(n=1279)
unsupported argument, type: string, ref(code): Regexp at t/common.pm line 312.
Sorting 100 elements of 'qr string'
Benchmark: running GRT, ST, gold, orcish, plain for at least 2 CPU seconds...
       GRT:  2 wallclock secs ( 2.10 usr +  0.00 sys =  2.10 CPU) @ 2872.38/s 
(n=6032)
        ST:  2 wallclock secs ( 2.11 usr +  0.00 sys =  2.11 CPU) @ 2026.54/s 
(n=4276)
      gold:  2 wallclock secs ( 2.19 usr +  0.00 sys =  2.19 CPU) @ 721.00/s 
(n=1579)
    orcish:  2 wallclock secs ( 2.13 usr +  0.00 sys =  2.13 CPU) @ 1771.36/s 
(n=3773)
     plain:  2 wallclock secs ( 2.17 usr +  0.00 sys =  2.17 CPU) @ 589.86/s 
(n=1280)
Name "main::bench" used only once: possible typo at t/simple.t line 1.
Sorting 100 elements of 'simple string'
Benchmark: running GRT, SK, ST, gold, orcish, plain for at least 2 CPU 
seconds...
       GRT:  2 wallclock secs ( 2.05 usr +  0.00 sys =  2.05 CPU) @ 3832.20/s 
(n=7856)
        SK:  2 wallclock secs ( 2.24 usr +  0.00 sys =  2.24 CPU) @ 7383.93/s 
(n=16540)
        ST:  2 wallclock secs ( 2.04 usr +  0.00 sys =  2.04 CPU) @ 2553.92/s 
(n=5210)
      gold:  2 wallclock secs ( 2.05 usr +  0.00 sys =  2.05 CPU) @ 2787.80/s 
(n=5715)
    orcish:  2 wallclock secs ( 2.10 usr +  0.00 sys =  2.10 CPU) @ 4068.10/s 
(n=8543)
     plain:  2 wallclock secs ( 2.08 usr +  0.00 sys =  2.08 CPU) @ 1199.52/s 
(n=2495)
Sorting 100 elements of 'simple number'
Benchmark: running GRT, SK, ST, gold, orcish, plain for at least 2 CPU 
seconds...
       GRT:  2 wallclock secs ( 2.11 usr +  0.00 sys =  2.11 CPU) @ 3469.67/s 
(n=7321)
        SK:  2 wallclock secs ( 2.14 usr +  0.00 sys =  2.14 CPU) @ 11985.05/s 
(n=25648)
        ST:  2 wallclock secs ( 2.21 usr +  0.00 sys =  2.21 CPU) @ 3239.37/s 
(n=7159)
      gold:  2 wallclock secs ( 2.12 usr +  0.00 sys =  2.12 CPU) @ 2929.25/s 
(n=6210)
    orcish:  2 wallclock secs ( 2.14 usr +  0.00 sys =  2.14 CPU) @ 3992.06/s 
(n=8543)
     plain:  2 wallclock secs ( 2.10 usr +  0.00 sys =  2.10 CPU) @ 1161.43/s 
(n=2439)
unsupported argument, type: string_data, ref(code):  at t/common.pm line 312.
Sorting 100 elements of 'simple string'
Benchmark: running GRT_index, GRT_string, SK_index, gold for at least 2 CPU 
seconds...
 GRT_index:  2 wallclock secs ( 2.18 usr +  0.00 sys =  2.18 CPU) @ 3621.10/s 
(n=7894)
GRT_string:  2 wallclock secs ( 2.11 usr +  0.00 sys =  2.11 CPU) @ 3741.23/s 
(n=7894)
  SK_index:  3 wallclock secs ( 2.17 usr +  0.00 sys =  2.17 CPU) @ 7073.73/s 
(n=15350)
      gold:  2 wallclock secs ( 2.02 usr +  0.00 sys =  2.02 CPU) @ 2575.74/s 
(n=5203)
Sorting 1000 elements of 'simple string'
Benchmark: running GRT_index, GRT_string, SK_index, gold for at least 2 CPU 
seconds...
 GRT_index:  2 wallclock secs ( 2.10 usr +  0.00 sys =  2.10 CPU) @ 337.14/s 
(n=708)
GRT_string:  2 wallclock secs ( 2.06 usr +  0.00 sys =  2.06 CPU) @ 349.03/s 
(n=719)
  SK_index:  2 wallclock secs ( 2.14 usr +  0.00 sys =  2.14 CPU) @ 571.50/s 
(n=1223)
      gold:  2 wallclock secs ( 2.14 usr +  0.00 sys =  2.14 CPU) @ 165.42/s 
(n=354)
unsupported argument, type: string_data, ref(code):  at t/common.pm line 312.
Sorting 100 elements of 'simple string no-case'
Benchmark: running GRT_index, GRT_string, gold for at least 2 CPU seconds...
 GRT_index:  2 wallclock secs ( 2.09 usr +  0.00 sys =  2.09 CPU) @ 3956.46/s 
(n=8269)
GRT_string:  3 wallclock secs ( 2.12 usr +  0.00 sys =  2.12 CPU) @ 4029.72/s 
(n=8543)
      gold:  2 wallclock secs ( 2.12 usr +  0.00 sys =  2.12 CPU) @ 2197.17/s 
(n=4658)
Sorting 1000 elements of 'simple string no-case'
Benchmark: running GRT_index, GRT_string, gold for at least 2 CPU seconds...
 GRT_index:  2 wallclock secs ( 2.13 usr +  0.00 sys =  2.13 CPU) @ 340.85/s 
(n=726)
GRT_string:  2 wallclock secs ( 2.13 usr +  0.00 sys =  2.13 CPU) @ 370.89/s 
(n=790)
      gold:  2 wallclock secs ( 2.16 usr +  0.00 sys =  2.16 CPU) @ 138.43/s 
(n=299)
unsupported argument, type: string_data, ref(code):  at t/common.pm line 312.
Sorting 100 elements of 'simple string descending'
Benchmark: running GRT_index, GRT_string, SK_index, gold for at least 2 CPU 
seconds...
 GRT_index:  3 wallclock secs ( 2.13 usr +  0.00 sys =  2.13 CPU) @ 2724.88/s 
(n=5804)
GRT_string:  2 wallclock secs ( 2.02 usr +  0.00 sys =  2.02 CPU) @ 2820.79/s 
(n=5698)
  SK_index:  2 wallclock secs ( 2.16 usr +  0.00 sys =  2.16 CPU) @ 7106.02/s 
(n=15349)
      gold:  2 wallclock secs ( 2.15 usr +  0.00 sys =  2.15 CPU) @ 2658.14/s 
(n=5715)
Sorting 1000 elements of 'simple string descending'
Benchmark: running GRT_index, GRT_string, SK_index, gold for at least 2 CPU 
seconds...
 GRT_index:  2 wallclock secs ( 2.11 usr +  0.00 sys =  2.11 CPU) @ 265.40/s 
(n=560)
GRT_string:  2 wallclock secs ( 2.09 usr +  0.00 sys =  2.09 CPU) @ 267.46/s 
(n=559)
  SK_index:  3 wallclock secs ( 2.14 usr +  0.00 sys =  2.14 CPU) @ 569.63/s 
(n=1219)
      gold:  2 wallclock secs ( 2.15 usr +  0.00 sys =  2.15 CPU) @ 164.65/s 
(n=354)
unsupported argument, type: string_data, ref(code):  at t/common.pm line 312.
Sorting 100 elements of 'simple string no-case descending'
Benchmark: running GRT_index, GRT_string, gold for at least 2 CPU seconds...
 GRT_index:  2 wallclock secs ( 2.11 usr +  0.00 sys =  2.11 CPU) @ 2708.53/s 
(n=5715)
GRT_string:  2 wallclock secs ( 2.13 usr +  0.00 sys =  2.13 CPU) @ 2724.88/s 
(n=5804)
      gold:  2 wallclock secs ( 2.10 usr +  0.00 sys =  2.10 CPU) @ 2218.10/s 
(n=4658)
Sorting 1000 elements of 'simple string no-case descending'
Benchmark: running GRT_index, GRT_string, gold for at least 2 CPU seconds...
 GRT_index:  2 wallclock secs ( 2.21 usr +  0.00 sys =  2.21 CPU) @ 253.39/s 
(n=560)
GRT_string:  3 wallclock secs ( 2.09 usr +  0.00 sys =  2.09 CPU) @ 263.16/s 
(n=550)
      gold:  2 wallclock secs ( 2.10 usr +  0.00 sys =  2.10 CPU) @ 139.05/s 
(n=292)
unsupported argument, type: string_data, ref(code):  at t/common.pm line 312.
Sorting 100 elements of 'simple number'
Benchmark: running GRT_index, GRT_string, SK_index, gold for at least 2 CPU 
seconds...
 GRT_index:  2 wallclock secs ( 2.26 usr +  0.00 sys =  2.26 CPU) @ 3393.81/s 
(n=7670)
GRT_string:  2 wallclock secs ( 2.11 usr +  0.00 sys =  2.11 CPU) @ 3393.36/s 
(n=7160)
  SK_index:  2 wallclock secs ( 2.18 usr +  0.00 sys =  2.18 CPU) @ 8555.50/s 
(n=18651)
      gold:  2 wallclock secs ( 2.12 usr +  0.00 sys =  2.12 CPU) @ 2695.75/s 
(n=5715)
Sorting 1000 elements of 'simple number'
Benchmark: running GRT_index, GRT_string, SK_index, gold for at least 2 CPU 
seconds...
 GRT_index:  2 wallclock secs ( 2.17 usr +  0.00 sys =  2.17 CPU) @ 323.96/s 
(n=703)
GRT_string:  3 wallclock secs ( 2.14 usr +  0.00 sys =  2.14 CPU) @ 313.08/s 
(n=670)
  SK_index:  2 wallclock secs ( 2.13 usr +  0.00 sys =  2.13 CPU) @ 752.58/s 
(n=1603)
      gold:  2 wallclock secs ( 2.07 usr +  0.00 sys =  2.07 CPU) @ 173.43/s 
(n=359)
unsupported argument, type: string_data, ref(code):  at t/common.pm line 312.
Sorting 100 elements of 'string:number'
Benchmark: running GRT_index, GRT_string, SK_index, gold for at least 2 CPU 
seconds...
 GRT_index:  2 wallclock secs ( 2.14 usr +  0.00 sys =  2.14 CPU) @ 936.92/s 
(n=2005)
GRT_string:  2 wallclock secs ( 2.19 usr +  0.00 sys =  2.19 CPU) @ 940.64/s 
(n=2060)
  SK_index:  2 wallclock secs ( 2.16 usr +  0.00 sys =  2.16 CPU) @ 3110.65/s 
(n=6719)
      gold:  2 wallclock secs ( 2.05 usr +  0.00 sys =  2.05 CPU) @ 633.17/s 
(n=1298)
Sorting 1000 elements of 'string:number'
Benchmark: running GRT_index, GRT_string, SK_index, gold for at least 2 CPU 
seconds...
 GRT_index:  2 wallclock secs ( 2.09 usr +  0.00 sys =  2.09 CPU) @ 90.91/s 
(n=190)
GRT_string:  2 wallclock secs ( 2.09 usr +  0.00 sys =  2.09 CPU) @ 90.91/s 
(n=190)
  SK_index:  2 wallclock secs ( 2.23 usr +  0.00 sys =  2.23 CPU) @ 273.54/s 
(n=610)
      gold:  2 wallclock secs ( 2.13 usr +  0.00 sys =  2.13 CPU) @ 31.92/s 
(n=68)

-- 
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/

Reply via email to