Sorting algorithms/Merge sort: Difference between revisions
Content added Content deleted
imported>Rcmlz |
imported>Rcmlz |
||
Line 6,657: | Line 6,657: | ||
parallel-medium-batch => { mergesort-parallel(@unsorted, $m-batch) }, |
parallel-medium-batch => { mergesort-parallel(@unsorted, $m-batch) }, |
||
parallel-large-batch => { mergesort-parallel(@unsorted, $l-batch) }, |
parallel-large-batch => { mergesort-parallel(@unsorted, $l-batch) }, |
||
}, :statistics; |
|||
⚫ | |||
my @metrics = <mean median sd>; |
|||
my $msg-row = "%.4f\t" x @metrics.elems ~ '%s'; |
|||
say @metrics.join("\t"); |
|||
⚫ | |||
say sprintf($msg-row, %m{@metrics}, $name); |
|||
⚫ | |||
⚫ | |||
⚫ | |||
say "$name avg $avg secs" |
|||
⚫ | |||
<pre> |
<pre> |
||
elements: 40960, runs: 5, cpu-cores: 4, large/medium/small/tiny-batch: 8192/2048/512/128 |
elements: 40960, runs: 5, cpu-cores: 4, large/medium/small/tiny-batch: 8192/2048/512/128 |
||
mean median sd |
|||
single-thread avg 9 secs |
|||
parallel-naive |
7.7683 8.0265 0.5724 parallel-naive |
||
parallel-tiny-batch |
3.1354 3.1272 0.0602 parallel-tiny-batch |
||
parallel- |
2.6932 2.6599 0.1831 parallel-medium-batch |
||
parallel- |
2.8139 2.7832 0.0641 parallel-large-batch |
||
parallel- |
3.0908 3.0593 0.0675 parallel-small-batch |
||
5.9989 5.9450 0.1518 single-thread |
|||
</pre> |
</pre> |
||