<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>