4 use Benchmark 'cmpthese';
8 map { ('_', 0..9, 'A'..'Z', 'a'..'z')[rand 63] } 1..shift;
10 map qq|<table><tr><td meascode="$_"></td></tr></table>|,
13 push @c_order, splice( @r_order, rand @r_order, 1 )
15 join( '', @c_order ), @unsorted
18 my ($cost_order, @unsorted) = build_data(2);
20 my $sorter = make_sorter(
22 init_code => "my \$cost_order = '$cost_order';",
25 number => q{ /code="(.)"/ && index($cost_order,$1) },
28 cmpthese( shift || -5, {
30 my @sorted = $sorter->( @unsorted );
33 'S-Maker-compiling' => sub {
35 my $sorter = make_sorter(
37 init_code => "my \$cost_order = '$cost_order';",
40 number => q{ /code="(.)"/ && index($cost_order,$1) },
42 my @sorted = $sorter->( @unsorted );
47 while ( my $mc = chop $co ) {
48 unshift @sorted, grep /code="$mc"/, @unsorted;