<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Dec 28, 2015 at 7:31 PM, Joe Armstrong <span dir="ltr"><<a href="mailto:erlang@gmail.com" target="_blank">erlang@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div id=":i6" class="" style="overflow:hidden">As an additional exercise you should measure and compare with <span class="">lists</span>:<span class="">sort</span></div></blockquote></div><div class="gmail_extra"><br></div>This is a sneak-peak on this years christmas-hacking project, eministat, which is a benchmarking tool for Erlang. It's ASCII art does require you to use a fixed width font when viewing the output however. The results are:</div><div class="gmail_extra"><br></div><div class="gmail_extra">* lists:sort/1 (#) is significantly faster than everything else.</div><div class="gmail_extra">* sortl (x) and sortx (%) has no provable difference</div><div class="gmail_extra">* sortf (+) and sortfl (*) are significantly slower than sortl (x)</div><div class="gmail_extra"><br></div><div class="gmail_extra">I'll write a more complete announcement when things are cleaned up a bit more later on.<br><br><div class="gmail_extra">15> qsort_eministat:t().</div><div class="gmail_extra">x sortl</div><div class="gmail_extra">+ sortf</div><div class="gmail_extra">* sortfl</div><div class="gmail_extra">% sortx</div><div class="gmail_extra"># lists:sort/1</div><div class="gmail_extra">+--------------------------------------------------------------------------+</div><div class="gmail_extra">|## ###x *** +++ +++|</div><div class="gmail_extra">|## ##xx ** ++ +++|</div><div class="gmail_extra">|## x#xx ** ++ ++ |</div><div class="gmail_extra">|## x#x ** ++ + |</div><div class="gmail_extra">|## x#x ** ++ + |</div><div class="gmail_extra">|## x#x ** ++ + |</div><div class="gmail_extra">|## x#x ** ++ + |</div><div class="gmail_extra">|## x# ** ++ + |</div><div class="gmail_extra">|## # * + + |</div><div class="gmail_extra">|## # * + + |</div><div class="gmail_extra">|# # * + + |</div><div class="gmail_extra">|# # * + + |</div><div class="gmail_extra">|# # * + + |</div><div class="gmail_extra">|# # * + + |</div><div class="gmail_extra">|# # * + + |</div><div class="gmail_extra">|# # * + + |</div><div class="gmail_extra">|# # * + + |</div><div class="gmail_extra">|# # * + |</div><div class="gmail_extra">|# # * + |</div><div class="gmail_extra">|# # * |</div><div class="gmail_extra">|# # * |</div><div class="gmail_extra">|# # * |</div><div class="gmail_extra">|# # * |</div><div class="gmail_extra">|# # * |</div><div class="gmail_extra">|# # * |</div><div class="gmail_extra">|# # * |</div><div class="gmail_extra">|# # * |</div><div class="gmail_extra">|# # * |</div><div class="gmail_extra">|# # * |</div><div class="gmail_extra">|# # * |</div><div class="gmail_extra">|# # * |</div><div class="gmail_extra">|# # * |</div><div class="gmail_extra">|# % * |</div><div class="gmail_extra">|# % * |</div><div class="gmail_extra">|# % * |</div><div class="gmail_extra">|# % * |</div><div class="gmail_extra">|# % * |</div><div class="gmail_extra">|# % * |</div><div class="gmail_extra">|# % * |</div><div class="gmail_extra">|# % * |</div><div class="gmail_extra">| |A| |</div><div class="gmail_extra">| MA| |</div><div class="gmail_extra">| A| |</div><div class="gmail_extra">| |A |</div><div class="gmail_extra">|A| |</div><div class="gmail_extra">+--------------------------------------------------------------------------+</div><div class="gmail_extra">Dataset: x N=50 CI=95.0000</div><div class="gmail_extra">Statistic Value [ Bias] (Bootstrapped LB‥UB)</div><div class="gmail_extra">Min: 47.0000</div><div class="gmail_extra">1st Qu. 48.0000</div><div class="gmail_extra">Median: 48.0000</div><div class="gmail_extra">3rd Qu. 48.0000</div><div class="gmail_extra">Max: 50.0000</div><div class="gmail_extra">Average: 48.1000 [ -2.66000e-4] ( 47.9000 ‥ 48.3000)</div><div class="gmail_extra">Std. Dev: 0.735402 [ -1.34737e-2] ( 0.580288 ‥ 0.932191)</div><div class="gmail_extra"><br></div><div class="gmail_extra">Outliers: 8/10 = 18 (μ=48.0997, σ=0.721928)</div><div class="gmail_extra"> Outlier variance: 1.96000e-2 (slight)</div><div class="gmail_extra"><br></div><div class="gmail_extra">------</div><div class="gmail_extra"><br></div><div class="gmail_extra">Dataset: + N=50 CI=95.0000</div><div class="gmail_extra">Statistic Value [ Bias] (Bootstrapped LB‥UB)</div><div class="gmail_extra">Min: 74.0000</div><div class="gmail_extra">1st Qu. 76.0000</div><div class="gmail_extra">Median: 76.0000</div><div class="gmail_extra">3rd Qu. 77.0000</div><div class="gmail_extra">Max: 79.0000</div><div class="gmail_extra">Average: 76.4200 [ -6.32000e-4] ( 76.1200 ‥ 76.6800)</div><div class="gmail_extra">Std. Dev: 1.03194 [ -1.54531e-2] ( 0.852607 ‥ 1.29363)</div><div class="gmail_extra"><br></div><div class="gmail_extra">Outliers: 1/2 = 3 (μ=76.4194, σ=1.01649)</div><div class="gmail_extra"> Outlier variance: 1.96000e-2 (slight)</div><div class="gmail_extra"><br></div><div class="gmail_extra">Difference at 95.0% confidence</div><div class="gmail_extra"> 28.3200 ± 0.355542</div><div class="gmail_extra"> 58.8773% ± 0.739172%</div><div class="gmail_extra"> (Student's t, pooled s = 0.896023)</div><div class="gmail_extra">------</div><div class="gmail_extra"><br></div><div class="gmail_extra">Dataset: * N=50 CI=95.0000</div><div class="gmail_extra">Statistic Value [ Bias] (Bootstrapped LB‥UB)</div><div class="gmail_extra">Min: 65.0000</div><div class="gmail_extra">1st Qu. 66.0000</div><div class="gmail_extra">Median: 66.0000</div><div class="gmail_extra">3rd Qu. 66.0000</div><div class="gmail_extra">Max: 67.0000</div><div class="gmail_extra">Average: 66.1400 [ -2.14000e-4] ( 66.0200 ‥ 66.2400)</div><div class="gmail_extra">Std. Dev: 0.404566 [ -8.32260e-3] ( 0.303046 ‥ 0.520596)</div><div class="gmail_extra"><br></div><div class="gmail_extra">Outliers: 1/8 = 9 (μ=66.1398, σ=0.396243)</div><div class="gmail_extra"> Outlier variance: 1.96000e-2 (slight)</div><div class="gmail_extra"><br></div><div class="gmail_extra">Difference at 95.0% confidence</div><div class="gmail_extra"> 18.0400 ± 0.235502</div><div class="gmail_extra"> 37.5052% ± 0.489608%</div><div class="gmail_extra"> (Student's t, pooled s = 0.593502)</div><div class="gmail_extra">------</div><div class="gmail_extra"><br></div><div class="gmail_extra">Dataset: % N=50 CI=95.0000</div><div class="gmail_extra">Statistic Value [ Bias] (Bootstrapped LB‥UB)</div><div class="gmail_extra">Min: 47.0000</div><div class="gmail_extra">1st Qu. 48.0000</div><div class="gmail_extra">Median: 48.0000</div><div class="gmail_extra">3rd Qu. 48.0000</div><div class="gmail_extra">Max: 49.0000</div><div class="gmail_extra">Average: 47.9800 [ -2.34000e-4] ( 47.8800 ‥ 48.0200)</div><div class="gmail_extra">Std. Dev: 0.246610 [ -1.61201e-2] ( 0.00000e+0 ‥ 0.377424)</div><div class="gmail_extra"><br></div><div class="gmail_extra">Outliers: 2/1 = 3 (μ=47.9798, σ=0.230490)</div><div class="gmail_extra"> Outlier variance: 1.96000e-2 (slight)</div><div class="gmail_extra"><br></div><div class="gmail_extra">No difference proven at 95.0% confidence</div><div class="gmail_extra">------</div><div class="gmail_extra"><br></div><div class="gmail_extra">Dataset: # N=50 CI=95.0000</div><div class="gmail_extra">Statistic Value [ Bias] (Bootstrapped LB‥UB)</div><div class="gmail_extra">Min: 20.0000</div><div class="gmail_extra">1st Qu. 20.0000</div><div class="gmail_extra">Median: 20.0000</div><div class="gmail_extra">3rd Qu. 20.0000</div><div class="gmail_extra">Max: 21.0000</div><div class="gmail_extra">Average: 20.2000 [ -5.00000e-5] ( 20.1000 ‥ 20.3000)</div><div class="gmail_extra">Std. Dev: 0.404061 [ -6.49526e-3] ( 0.303046 ‥ 0.462910)</div><div class="gmail_extra"><br></div><div class="gmail_extra">Outliers: 0/10 = 10 (μ=20.1999, σ=0.397566)</div><div class="gmail_extra"> Outlier variance: 7.50015e-2 (slight)</div><div class="gmail_extra"><br></div><div class="gmail_extra">Difference at 95.0% confidence</div><div class="gmail_extra"> -27.9000 ± 0.235433</div><div class="gmail_extra"> -58.0042% ± 0.489467%</div><div class="gmail_extra"> (Student's t, pooled s = 0.593330)</div><div class="gmail_extra">------</div><div class="gmail_extra"><br></div><div class="gmail_extra">ok</div><div><br></div><div><br></div>-- <br><div class="gmail_signature">J.</div>
</div></div>