Sorting algorithms/Quicksort: Difference between revisions

(Added Chipmunk Basic)
imported>Rcmlz
Line 8,393:
parallel-medium-batch => { quicksort-parallel(@unsorted, $m-batch) },
parallel-large-batch => { quicksort-parallel(@unsorted, $l-batch) },
}, :statistics;
};
 
my @metrics = <mean median sd>;
for %results.kv -> $name, ($start, $end, $diff, $avg) {
my $msg-row = "%.4f\t" x @metrics.elems ~ '%s';
say "$name avg $avg secs"
 
}</syntaxhighlight>
say @metrics.join("\t");
for %results.kv -> $name, ($start, $end, $diff, $avg)%m {
say sprintf($msg-row, %m{@metrics}, $name);
};
}</syntaxhighlight>
<pre>
xxxxxxxxxxx Benchmarking xxxxxxxxxxx
elements: 40960, runs: 5, cpu-cores: 4, large/medium/small/tiny-batch: 8192/2048/512/128
mean median sd
single-thread avg 6 secs
2.9503 2.8907 0.2071 parallel-small-batch
parallel-naive avg 5.6 secs
3.2054 3.1727 0.2078 parallel-tiny-batch avg 2.8 secs
5.6524 5.0980 1.2628 parallel-naive
parallel-small-batch avg 2.4 secs
3.4717 3.3353 0.3622 parallel-medium-batch avg 2.8 secs
4.6275 4.7793 0.4930 parallel-large-batch avg 3.4 secs
6.5401 6.2832 0.5585 single-thread
</pre>
 
Anonymous user