<div dir="ltr">As can probably be gathered from the tone of my earlier comment that was cherry picked in Oleg's post, I'm +1 on this. It is a small improvement we can make in the user experience at very little cost, bringing us one step closer to the baseline functionality folks expect of most any language these days.<div><br></div><div>-Edward</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, May 30, 2021 at 10:54 AM Andreas Abel <<a href="mailto:andreas.abel@ifi.lmu.de">andreas.abel@ifi.lmu.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">+1 Such a change is very welcome!  --Andreas<br>
<br>
On 2021-05-30 15:52, Oleg Grenrus wrote:<br>
> I'm proposing to add HasCallStack constraint for partial functions<br>
> in base package for functions in Data.List and Data.List.NonEmpty:<br>
> <br>
> - head, tail, init, last, ...<br>
> - foldr1, foldl1, maximum, minimum, ...<br>
> - (!!)<br>
> <br>
> ---<br>
> <br>
> The previous discussions started by Luo Chen can be found at<br>
> <a href="https://gitlab.haskell.org/ghc/ghc/-/issues/17040" rel="noreferrer" target="_blank">https://gitlab.haskell.org/ghc/ghc/-/issues/17040</a> (from August 2019)<br>
> <br>
> and libraries list from June 2019<br>
> <a href="https://mail.haskell.org/pipermail/libraries/2019-June/029652.html" rel="noreferrer" target="_blank">https://mail.haskell.org/pipermail/libraries/2019-June/029652.html</a><br>
> <br>
> ---<br>
> <br>
> My motivation comes from seeing GHCJS failing with<br>
> "Prelude.!! negative index" exception and<br>
> cabal-install with head of empty list.<br>
> <br>
> ---<br>
> <br>
> In #17040 issue Ben Gamari comments [1]<br>
> <br>
>> In general, adding HasCallStack constraints on things like simple<br>
>> non-recursive functions like fromJust and head seems like a reasonable<br>
>> trade-off; these functions will essentially always inline and<br>
>> consequently the cost of the constraint will vanish.<br>
> <br>
> Such patch is now available at<br>
> <a href="https://gitlab.haskell.org/ghc/ghc/-/merge_requests/5833" rel="noreferrer" target="_blank">https://gitlab.haskell.org/ghc/ghc/-/merge_requests/5833</a><br>
> <br>
> After accepting few changed test outputs, no further changes were needed.<br>
> <br>
> ---<br>
> <br>
> Ben continues:<br>
> <br>
>> Adding HasCallStack constraints on typeclass-overloaded methods isn't<br>
>> as clear. After all, it's quite likely that these functions will be<br>
>> reached by dynamic dispatch which will become more expensive with the<br>
>> additional callstack argument.<br>
> <br>
> I agree. Foldable.foldr1 may not be partial, e.g. it isn't for NonEmpty.<br>
> <br>
> More correct approach would be to add Foldable1 [2] class to base, and<br>
> in some distant future remove potentially partial members from Foldable.<br>
> <br>
> Therefore my patch _does not change_ Foldable.<br>
> <br>
>> nofib may not be a very good test for this patch as it doesn't contain<br>
>> many uses of the affected functions<br>
> <br>
> Indeed. These functions are hardly ever in tight performance critical<br>
> code, thus I'm skeptical about they affecting a code written by<br>
> performance aware people. Re-implementing `head` in a loop where it<br>
> causes performance regression is trivial.<br>
> <br>
> I have run `nofib` anyway. Results are at the end.<br>
> <br>
>> I think it would be a good idea to start with a minimal patch adding<br>
>> constraints to the simple cases. We should then verify that the patch<br>
>> doesn't affect the Core produced by typical use-cases (perhaps even<br>
>> adding tests such that these don't regress). Once we know that the<br>
>> simple cases are safe we can move on to the harder cases.<br>
> <br>
> Such patch is now available at<br>
> <a href="https://gitlab.haskell.org/ghc/ghc/-/merge_requests/5833" rel="noreferrer" target="_blank">https://gitlab.haskell.org/ghc/ghc/-/merge_requests/5833</a><br>
> <br>
> ---<br>
> <br>
> Let me go through other comments in previous discussions, to have fuller<br>
> overview.<br>
> <br>
> ---<br>
> <br>
> Some people are in favour, e.g.<br>
> - Simon Jakobi,<br>
> <a href="https://mail.haskell.org/pipermail/libraries/2019-June/029655.html" rel="noreferrer" target="_blank">https://mail.haskell.org/pipermail/libraries/2019-June/029655.html</a><br>
> - Hécate, <a href="https://gitlab.haskell.org/ghc/ghc/-/issues/17040#note_355561" rel="noreferrer" target="_blank">https://gitlab.haskell.org/ghc/ghc/-/issues/17040#note_355561</a><br>
> <br>
> ---<br>
> <br>
> Richard [3] thinks that e.g. a year prior addition of HasCallStack to<br>
> fromJust<br>
> [4] is not a right thing.<br>
> <br>
>> I don't have any particular insight to how to do call stacks better --<br>
>> and I am swayed by the argument that we need call stacks even in<br>
>> production -- but I don't think HasCallStack is the way. That was<br>
>> always meant as just a small hack!<br>
> <br>
> This patch is indeed more pragmatic than elegant, but takes us from<br>
> takes us from spending potentially many hours finding the source of a<br>
> crash to being pointed at the very line where it happens directly, which<br>
> is invaluable for production systems.  I.e. let not (unknown) perfect be<br>
> an enemy of good solution.<br>
> <br>
> ---<br>
> <br>
> In fromJust issue discussion [4] Ben comments<br>
> <br>
>> However, I should emphasize to that we don't want to simply scatter<br>
>> HasCallStacks on every partial function. We should be thoughtful and<br>
>> deliberate (and probably consult with the CLC) when making changes<br>
>> like this.<br>
> <br>
> This email is indeed a request for CLC to comment.<br>
> <br>
> ---<br>
> <br>
> Edward Kmett comments was in favour [5]<br>
> <br>
>> I’m starting to warm to the idea of putting HasCallStack constraints<br>
>> on the obviously partial combinators in base if we can demonstrate<br>
>> that the performance impact isn't bad in practice, and even really, to<br>
>> some extent if there is a somewhat middling impact on the performance<br>
>> of code that leans on these hard to debug combinators, so long as the<br>
>> performance of their more total siblings remains unaffected. The<br>
>> impact on the perceived debuggability of Haskell seems _likely_ to<br>
>> significantly outweigh the performance concerns.<br>
> <br>
> The results (to follow) shows that impact isn't bad.<br>
> <br>
>> Heck, off of the HEAD of cabal, which we’re encouraging folks to build<br>
>> to play with the ghc 8.8.1 alpha, just today we ran into an issue<br>
>> where the very build system we are using spat out an oh so informative<br>
>> “Prelude.foldr1: Empty list” when using a pkgconfig-depends stanza<br>
>> that didnt include any explicit bounds.<br>
> <br>
> ---<br>
> <br>
> David Feuer is worried about performance of recursive functions [6]<br>
> <br>
>> As I recall, the main things to watch out for, performance-wise, are<br>
>> recursive definitions. When we throw an error from a library function,<br>
>> we *typically* mean that the caller made a mistake. We don't want to<br>
>> build up the call stacks we'd need to debug the library function<br>
>> itself, unless we're actually doing so (in which case we can edit it<br>
>> in, of course).<br>
> <br>
> In current base implementation all recursive functions (like foldr1, or<br>
> !!) have internal workers, so the callstack is not building-up.<br>
> <br>
> Eric Seidel comments later [8]<br>
> <br>
>> What I remember finding back then was that there was a small overhead<br>
>> for non-recursive functions like `head` but a substantial overhead for<br>
>> recursive functions.<br>
> <br>
>>    I'd suggest extra care around recursive functions ((!!) comes to<br>
>>    mind).  Perhaps rewrite them to use an inner recursive loop that does<br>
>>    not extend the CallStack (this might produce nicer stacktraces<br>
>>    anyway).<br>
> <br>
> That is how (!!) is currently written in base. It has an inner worker.<br>
> (His benchmark link is not valid anymore, so I cannot tell what !!<br>
> variant he benchmarked).<br>
> <br>
> ---<br>
> <br>
> Matthew Pickering comments [7] about -xc RTS flag.<br>
> <br>
>> I find this thread a bit concerning. In my opinion the current best<br>
>> way to get call stacks on exceptions is with `-xc`. Adding runtime<br>
>> overhead to every user program is not acceptable.<br>
> <br>
> -xc requires recompiling the program for profiling.<br>
> <br>
> He continues with<br>
> <br>
>> There is an argument that it would be good to disentangle `-xc` from<br>
>> `prof` but you would still have to compile `base` in this way which<br>
>> instruments these partial functions (as a user can not do it herself).<br>
>> I'm not too sure on the details but I don't think -xc uses any<br>
>> information from the profiling header so the fact it's connected with<br>
>> -prof seems more like convenience than necessity.<br>
> <br>
> If that work is done, we can drop HasCallStack from partial functions,<br>
> until then again let not perfect be the enemy of good.<br>
> <br>
> For example, me seeing GHCJS throwing on !!, of Edward cabal-install on<br>
> foldr1 doesn't help. Rebuilding cabal-install with profiling is viable<br>
> (but not for an average person who downloads it with ghcup),<br>
> rebuilding GHCJS for profiling is a skill few people have.<br>
> <br>
> Already in his original proposal Luo Chen says:<br>
> <br>
>> When we run a long running program, such as a web service, it is not<br>
>> easy to reproduce the issue, most of the time, you have no chance to<br>
>> recompile or restart your program to debug, all you can rely on is the<br>
>> printed logs, this makes -xc not as useful as HasCallStack.<br>
> <br>
> ---<br>
> <br>
> People are worried about performance.<br>
> GHC itself uses some of the a affected functions.<br>
> There are 30 foldr1, some head and tail calls, and also !! in `compiler/`<br>
> <br>
> The performance metrics in MR do not regress.<br>
> GHC is not slowed down.<br>
> <br>
> I also run `nofib` using `--cachegrind -s Norm -j 16`, geometric means:<br>
> <br>
> - allocations: -0.12%<br>
> - instructions: +0.05%<br>
> - LLC cache misses: +0.58%<br>
> - L1 cache misses: +0.03%<br>
> <br>
> And also using `--perf` (without `-j`):<br>
> <br>
> - perf instructions: +0.02%<br>
> - perf cycles: -0.80%<br>
> <br>
> I don't know if this in bounds of "small changes to GHC".<br>
> For me this looks acceptable.<br>
> <br>
> ---<br>
> <br>
> There is also off-thread blog post from 2018.<br>
> <a href="https://neilmitchell.blogspot.com/2018/03/safe-library-with-better-stack-traces.html" rel="noreferrer" target="_blank">https://neilmitchell.blogspot.com/2018/03/safe-library-with-better-stack-traces.html</a><br>
> referencing e.g.<br>
> <a href="https://hackage.haskell.org/package/extra-1.7.9/docs/Data-List-Extra.html#v:maximumOn" rel="noreferrer" target="_blank">https://hackage.haskell.org/package/extra-1.7.9/docs/Data-List-Extra.html#v:maximumOn</a><br>
> and <a href="https://hackage.haskell.org/package/safe" rel="noreferrer" target="_blank">https://hackage.haskell.org/package/safe</a><br>
> <br>
> safe library has plenty of reverse dependencies:<br>
> <a href="https://packdeps.haskellers.com/reverse/safe" rel="noreferrer" target="_blank">https://packdeps.haskellers.com/reverse/safe</a>, and extra is used by shake.<br>
> <br>
> ---<br>
> <br>
> In summary:<br>
> <br>
> - fromJust has HasCallStack, head doesn't. Let us fix this.<br>
> - Ben asked for patch so we can test performance, now such patch exists,<br>
>    and it passes GHC CI.<br>
> - GHC itself uses partial functions, its performance metrics don't<br>
>    regress<br>
> - -prof and +RTS -xc is an option, but it needs special build of an<br>
>    executable.<br>
> - This is ultimately for CLC to decide, so chessai, emilypi please tell<br>
>    your opinion.<br>
> <br>
> Discussion period one month, until 2021-06-30 (end of June this year).<br>
> <br>
> Oleg<br>
> <br>
> [1]: <a href="https://gitlab.haskell.org/ghc/ghc/-/issues/17040#note_231634" rel="noreferrer" target="_blank">https://gitlab.haskell.org/ghc/ghc/-/issues/17040#note_231634</a><br>
> [2]: <a href="https://mail.haskell.org/pipermail/libraries/2019-November/030059.html" rel="noreferrer" target="_blank">https://mail.haskell.org/pipermail/libraries/2019-November/030059.html</a><br>
>       <a href="https://gitlab.haskell.org/ghc/ghc/-/issues/13573" rel="noreferrer" target="_blank">https://gitlab.haskell.org/ghc/ghc/-/issues/13573</a><br>
> [3]: <a href="https://gitlab.haskell.org/ghc/ghc/-/issues/17040#note_218035" rel="noreferrer" target="_blank">https://gitlab.haskell.org/ghc/ghc/-/issues/17040#note_218035</a><br>
> [4]: <a href="https://gitlab.haskell.org/ghc/ghc/-/issues/15559" rel="noreferrer" target="_blank">https://gitlab.haskell.org/ghc/ghc/-/issues/15559</a><br>
> [5]: <a href="https://mail.haskell.org/pipermail/libraries/2019-June/029665.html" rel="noreferrer" target="_blank">https://mail.haskell.org/pipermail/libraries/2019-June/029665.html</a><br>
> [6]: <a href="https://mail.haskell.org/pipermail/libraries/2019-June/029666.html" rel="noreferrer" target="_blank">https://mail.haskell.org/pipermail/libraries/2019-June/029666.html</a><br>
> [7]: <a href="https://mail.haskell.org/pipermail/libraries/2019-June/029672.html" rel="noreferrer" target="_blank">https://mail.haskell.org/pipermail/libraries/2019-June/029672.html</a><br>
> [8]: <a href="https://mail.haskell.org/pipermail/libraries/2019-June/029667.html" rel="noreferrer" target="_blank">https://mail.haskell.org/pipermail/libraries/2019-June/029667.html</a><br>
> <br>
> ---<br>
> <br>
> # bytes allocated<br>
> <br>
> +-------------------------------++--+-------------+------------------+<br>
> |                               ||  |     master/ | callstack/ (rel) |<br>
> +===============================++==+=============+==================+<br>
> |          imaginary/bernouilli ||  |     2.823e9 |            0.00% |<br>
> |        imaginary/digits-of-e1 ||  |     1.069e9 |            0.00% |<br>
> |        imaginary/digits-of-e2 ||  |     2.152e9 |            0.00% |<br>
> |              imaginary/exp3_8 ||  |     5.888e9 |            0.00% |<br>
> |         imaginary/gen_regexps ||  |     9.104e8 |            0.00% |<br>
> |           imaginary/integrate ||  |     3.768e9 |            0.00% |<br>
> |               imaginary/kahan ||  |   49088.000 |            0.00% |<br>
> |           imaginary/paraffins ||  |     3.829e9 |            0.00% |<br>
> |              imaginary/primes ||  |     2.928e9 |            0.00% |<br>
> |              imaginary/queens ||  |     6.709e8 |            0.00% |<br>
> |                imaginary/rfib ||  |  139952.000 |            0.00% |<br>
> |                 imaginary/tak ||  |   97344.000 |            0.00% |<br>
> |        imaginary/wheel-sieve1 ||  |     1.344e8 |            0.00% |<br>
> |        imaginary/wheel-sieve2 ||  |     2.430e9 |            0.00% |<br>
> |                imaginary/x2n1 ||  |     2.561e8 |            0.00% |<br>
> |         parallel/blackscholes ||  |     1.980e9 |            0.00% |<br>
> |                parallel/coins ||  |     5.252e9 |            0.00% |<br>
> |                 parallel/gray ||  |     2.010e9 |           +0.00% |<br>
> |               parallel/mandel ||  |     8.524e9 |            0.00% |<br>
> |              parallel/matmult ||  |     8.974e7 |            0.00% |<br>
> |              parallel/minimax ||  |    2.212e10 |            0.00% |<br>
> |                parallel/nbody ||  | 1498304.000 |            0.00% |<br>
> |               parallel/parfib ||  |     3.651e8 |            0.00% |<br>
> |              parallel/partree ||  |     3.290e9 |            0.00% |<br>
> |                 parallel/prsa ||  |     2.097e9 |            0.00% |<br>
> |               parallel/queens ||  |     6.846e8 |            0.00% |<br>
> |                  parallel/ray ||  |    1.357e10 |            0.00% |<br>
> |             parallel/sumeuler ||  | 1785016.000 |            0.00% |<br>
> |            parallel/transclos ||  |     8.976e9 |            0.00% |<br>
> |                     real/anna ||  |     2.022e9 |           +0.01% |<br>
> |             real/ben-raytrace ||  |    3.418e10 |            0.00% |<br>
> |                     real/bspt ||  |     3.747e9 |            0.00% |<br>
> |                real/cacheprof ||  |     2.689e9 |            0.00% |<br>
> |                 real/compress ||  |     2.807e9 |            0.00% |<br>
> |                real/compress2 ||  |     3.436e9 |            0.00% |<br>
> |                   real/eff/CS ||  |     1.601e8 |            0.00% |<br>
> |                  real/eff/CSD ||  |     1.600e9 |            0.00% |<br>
> |                   real/eff/FS ||  |     1.760e9 |            0.00% |<br>
> |                    real/eff/S ||  |     2.401e8 |            0.00% |<br>
> |                   real/eff/VS ||  |     4.831e8 |            0.00% |<br>
> |                  real/eff/VSD ||  |   50736.000 |            0.00% |<br>
> |                  real/eff/VSM ||  |     4.001e8 |            0.00% |<br>
> |                      real/fem ||  |     4.947e9 |           -2.81% |<br>
> |                    real/fluid ||  |     2.169e9 |           -0.00% |<br>
> |                   real/fulsom ||  |     1.961e9 |            0.00% |<br>
> |                   real/gamteb ||  |     4.447e9 |            0.00% |<br>
> |                       real/gg ||  |     2.654e9 |            0.00% |<br>
> |                     real/grep ||  |     4.623e9 |            0.00% |<br>
> |                   real/hidden ||  |     5.100e9 |            0.00% |<br>
> |                      real/hpg ||  |     3.160e9 |           -0.10% |<br>
> |                    real/infer ||  |     1.731e9 |            0.00% |<br>
> |                     real/lift ||  |     2.761e9 |            0.00% |<br>
> |                   real/linear ||  |     5.412e9 |           -0.07% |<br>
> |                 real/maillist ||  |     3.331e9 |            0.00% |<br>
> |                  real/mkhprog ||  | 9748392.000 |            0.00% |<br>
> |                   real/parser ||  |     2.666e9 |            0.00% |<br>
> |                      real/pic ||  |     1.469e9 |            0.00% |<br>
> |                   real/prolog ||  |     2.922e9 |           -0.02% |<br>
> |                  real/reptile ||  |     5.121e9 |            0.00% |<br>
> |                      real/rsa ||  |     8.414e8 |            0.00% |<br>
> |                      real/scs ||  |     4.044e9 |            0.00% |<br>
> |                  real/smallpt ||  |     2.874e9 |            0.00% |<br>
> |                   real/symalg ||  |     3.195e8 |            0.00% |<br>
> |                  real/veritas ||  |     4.172e9 |            0.00% |<br>
> |         shootout/binary-trees ||  |     4.300e9 |            0.00% |<br>
> |       shootout/fannkuch-redux ||  |   69144.000 |           -0.03% |<br>
> |                shootout/fasta ||  |     1.718e9 |           +0.00% |<br>
> |         shootout/k-nucleotide ||  |     7.081e7 |           +0.00% |<br>
> |               shootout/n-body ||  |  130608.000 |            0.00% |<br>
> |             shootout/pidigits ||  |    1.027e10 |            0.00% |<br>
> |   shootout/reverse-complement ||  |   59768.000 |            0.00% |<br>
> |        shootout/spectral-norm ||  |  178112.000 |            0.00% |<br>
> |               smp/callback001 ||  |     1.114e9 |            0.00% |<br>
> |               smp/callback002 ||  |     3.264e9 |            0.00% |<br>
> |                      smp/chan ||  |     1.240e9 |            0.00% |<br>
> |                     smp/sieve ||  |     1.410e9 |            0.00% |<br>
> |                smp/threads001 ||  |    1.072e10 |            0.00% |<br>
> |                smp/threads003 ||  |     3.051e8 |           -0.01% |<br>
> |                smp/threads006 ||  |     2.242e8 |            0.00% |<br>
> |                smp/threads007 ||  |     1.778e9 |           -0.00% |<br>
> |                 spectral/ansi ||  |     6.713e9 |            0.00% |<br>
> |                 spectral/atom ||  |     3.580e9 |            0.00% |<br>
> |               spectral/awards ||  |     4.759e9 |            0.00% |<br>
> |               spectral/banner ||  |     6.156e9 |            0.00% |<br>
> |                spectral/boyer ||  |     4.665e9 |            0.00% |<br>
> |               spectral/boyer2 ||  |     1.153e9 |            0.00% |<br>
> |             spectral/calendar ||  |     7.102e9 |            0.00% |<br>
> |             spectral/cichelli ||  |     1.969e9 |            0.00% |<br>
> |              spectral/circsim ||  |     4.850e9 |            0.00% |<br>
> |             spectral/clausify ||  |     2.095e9 |            0.00% |<br>
> |          spectral/constraints ||  |     4.872e9 |            0.00% |<br>
> |         spectral/cryptarithm1 ||  |     5.981e9 |            0.00% |<br>
> |         spectral/cryptarithm2 ||  |     3.663e9 |            0.00% |<br>
> |                  spectral/cse ||  |     3.802e9 |            0.00% |<br>
> |               spectral/dom-lt ||  |     3.890e9 |            0.00% |<br>
> |                spectral/eliza ||  |     4.102e9 |           +0.00% |<br>
> |          spectral/exact-reals ||  |     9.584e8 |           -0.00% |<br>
> |               spectral/expert ||  |     2.090e9 |            0.00% |<br>
> |                 spectral/fft2 ||  |     1.431e9 |           -0.22% |<br>
> |             spectral/fibheaps ||  |     4.737e9 |            0.00% |<br>
> |                 spectral/fish ||  |     6.193e9 |            0.00% |<br>
> |                  spectral/gcd ||  |     2.069e9 |            0.00% |<br>
> | spectral/hartel/comp_lab_zift ||  |     4.740e9 |            0.00% |<br>
> |         spectral/hartel/event ||  |     3.635e9 |          -12.13% |<br>
> |           spectral/hartel/fft ||  |     1.611e9 |            0.00% |<br>
> |        spectral/hartel/genfft ||  |     8.020e9 |            0.00% |<br>
> |           spectral/hartel/ida ||  |     3.515e9 |            0.00% |<br>
> |     spectral/hartel/listcompr ||  |     6.157e9 |            0.00% |<br>
> |      spectral/hartel/listcopy ||  |     6.758e9 |            0.00% |<br>
> |      spectral/hartel/nucleic2 ||  |     2.965e9 |            0.00% |<br>
> |       spectral/hartel/parstof ||  |     1.368e9 |            0.00% |<br>
> |         spectral/hartel/sched ||  |     3.675e9 |            0.00% |<br>
> |         spectral/hartel/solid ||  |     3.509e9 |            0.00% |<br>
> |     spectral/hartel/transform ||  |     3.959e9 |            0.00% |<br>
> |     spectral/hartel/typecheck ||  |     2.570e9 |            0.00% |<br>
> |          spectral/hartel/wang ||  |     4.735e9 |            0.00% |<br>
> |     spectral/hartel/wave4main ||  |     1.147e9 |            0.00% |<br>
> |              spectral/integer ||  |     3.260e9 |            0.00% |<br>
> |              spectral/knights ||  |     1.094e9 |            0.00% |<br>
> |               spectral/lambda ||  |     2.950e9 |            0.00% |<br>
> |           spectral/last-piece ||  |     6.852e8 |            0.00% |<br>
> |                 spectral/lcss ||  |     6.565e9 |            0.00% |<br>
> |                 spectral/life ||  |     6.799e9 |            0.00% |<br>
> |               spectral/mandel ||  |     1.972e9 |            0.00% |<br>
> |              spectral/mandel2 ||  |     5.231e8 |            0.00% |<br>
> |                 spectral/mate ||  |     4.598e9 |            0.00% |<br>
> |              spectral/minimax ||  |     2.683e9 |            0.00% |<br>
> |           spectral/multiplier ||  |     2.850e9 |            0.00% |<br>
> |                 spectral/para ||  |     4.056e9 |            0.00% |<br>
> |                spectral/power ||  |     1.428e9 |            0.00% |<br>
> |               spectral/pretty ||  |  136880.000 |           -0.11% |<br>
> |            spectral/primetest ||  |     8.455e8 |            0.00% |<br>
> |               spectral/puzzle ||  |     1.809e9 |            0.00% |<br>
> |              spectral/rewrite ||  |     1.694e9 |            0.00% |<br>
> |                  spectral/scc ||  |   58280.000 |            0.00% |<br>
> |               spectral/simple ||  |     2.316e9 |            0.00% |<br>
> |              spectral/sorting ||  |     3.078e9 |            0.00% |<br>
> |               spectral/sphere ||  |     2.298e9 |            0.00% |<br>
> |             spectral/treejoin ||  |     2.796e9 |            0.00% |<br>
> +===============================++==+=============+==================+<br>
> |                     geom mean ||  |      -0.12% |                  |<br>
> +-------------------------------++--+-------------+------------------+<br>
> <br>
> # instructions<br>
> <br>
> +-------------------------------++--+------------+------------------+<br>
> |                               ||  |    master/ | callstack/ (rel) |<br>
> +===============================++==+============+==================+<br>
> |          imaginary/bernouilli ||  |    7.057e9 |           +0.00% |<br>
> |        imaginary/digits-of-e1 ||  |    5.549e9 |           -0.00% |<br>
> |        imaginary/digits-of-e2 ||  |    5.555e9 |           -0.01% |<br>
> |              imaginary/exp3_8 ||  |    8.779e9 |           +0.03% |<br>
> |         imaginary/gen_regexps ||  |    8.650e9 |           -0.00% |<br>
> |           imaginary/integrate ||  |    6.276e9 |           +0.00% |<br>
> |               imaginary/kahan ||  |    6.707e9 |           +0.00% |<br>
> |           imaginary/paraffins ||  |    8.089e9 |           -0.00% |<br>
> |              imaginary/primes ||  |    8.278e9 |           +0.01% |<br>
> |              imaginary/queens ||  |   1.010e10 |           -0.00% |<br>
> |                imaginary/rfib ||  |    5.299e9 |           +0.00% |<br>
> |                 imaginary/tak ||  |    5.867e9 |           +0.00% |<br>
> |        imaginary/wheel-sieve1 ||  |    6.615e9 |           +0.04% |<br>
> |        imaginary/wheel-sieve2 ||  |    6.286e9 |           +0.02% |<br>
> |                imaginary/x2n1 ||  |    7.452e9 |           +0.00% |<br>
> |         parallel/blackscholes ||  |    8.022e9 |           +0.00% |<br>
> |                parallel/coins ||  |   1.149e10 |           +0.00% |<br>
> |                 parallel/gray ||  |    6.141e9 |           +0.14% |<br>
> |               parallel/mandel ||  |   3.288e10 |           -0.01% |<br>
> |              parallel/matmult ||  |   1.115e10 |           -0.00% |<br>
> |              parallel/minimax ||  |   3.863e10 |           -0.08% |<br>
> |                parallel/nbody ||  |    7.939e8 |           +0.00% |<br>
> |               parallel/parfib ||  |   2.231e10 |           +0.00% |<br>
> |              parallel/partree ||  |    7.347e9 |           +0.01% |<br>
> |                 parallel/prsa ||  |   1.811e10 |           -0.00% |<br>
> |               parallel/queens ||  |   1.037e10 |           +0.00% |<br>
> |                  parallel/ray ||  |   1.299e10 |           +0.00% |<br>
> |             parallel/sumeuler ||  |    3.483e9 |           +0.00% |<br>
> |            parallel/transclos ||  |   1.982e10 |           +0.00% |<br>
> |                     real/anna ||  |    5.343e9 |           +0.05% |<br>
> |             real/ben-raytrace ||  |   1.215e11 |           +0.00% |<br>
> |                     real/bspt ||  |    9.226e9 |           -0.00% |<br>
> |                real/cacheprof ||  |    6.763e9 |           +0.02% |<br>
> |                 real/compress ||  |    5.820e9 |           -0.00% |<br>
> |                real/compress2 ||  |    4.569e9 |           +0.00% |<br>
> |                   real/eff/CS ||  |    7.758e8 |           +0.00% |<br>
> |                  real/eff/CSD ||  |    3.745e9 |           +0.00% |<br>
> |                   real/eff/FS ||  |    2.799e9 |           +0.00% |<br>
> |                    real/eff/S ||  |    4.334e9 |           +0.00% |<br>
> |                   real/eff/VS ||  |    2.221e9 |           +0.01% |<br>
> |                  real/eff/VSD ||  |    8.075e7 |           +0.00% |<br>
> |                  real/eff/VSM ||  |    9.635e8 |           +0.00% |<br>
> |                      real/fem ||  |    6.649e9 |           -0.64% |<br>
> |                    real/fluid ||  |    3.904e9 |           -0.00% |<br>
> |                   real/fulsom ||  |    2.490e9 |           +0.00% |<br>
> |                   real/gamteb ||  |   1.013e10 |           +0.01% |<br>
> |                       real/gg ||  |    7.253e9 |           +0.01% |<br>
> |                     real/grep ||  |    7.546e9 |           +0.00% |<br>
> |                   real/hidden ||  |    7.198e9 |           +1.64% |<br>
> |                      real/hpg ||  |    4.966e9 |           +0.88% |<br>
> |                    real/infer ||  |    8.318e9 |           +0.00% |<br>
> |                     real/lift ||  |    4.430e9 |           -0.00% |<br>
> |                   real/linear ||  |    8.436e9 |           +1.97% |<br>
> |                 real/maillist ||  |    1.974e9 |           +0.05% |<br>
> |                  real/mkhprog ||  |    2.249e7 |           +0.00% |<br>
> |                   real/parser ||  |    5.178e9 |           -0.00% |<br>
> |                      real/pic ||  |    3.268e9 |           -0.00% |<br>
> |                   real/prolog ||  |    5.742e9 |           +0.01% |<br>
> |                  real/reptile ||  |    6.046e9 |           +0.00% |<br>
> |                      real/rsa ||  |    7.191e9 |           +0.00% |<br>
> |                      real/scs ||  |    6.174e9 |           +0.00% |<br>
> |                  real/smallpt ||  |   1.128e10 |           +0.00% |<br>
> |                   real/symalg ||  |    8.230e9 |           +0.00% |<br>
> |                  real/veritas ||  |    4.832e9 |           -0.01% |<br>
> |         shootout/binary-trees ||  |   1.073e10 |           +0.01% |<br>
> |       shootout/fannkuch-redux ||  |   1.909e10 |           -0.00% |<br>
> |                shootout/fasta ||  |    4.189e9 |           +0.00% |<br>
> |         shootout/k-nucleotide ||  |    4.219e9 |           +0.01% |<br>
> |               shootout/n-body ||  |    3.721e9 |           +0.00% |<br>
> |             shootout/pidigits ||  |    8.084e9 |           +0.00% |<br>
> |   shootout/reverse-complement ||  | 781364.000 |           +0.51% |<br>
> |        shootout/spectral-norm ||  |    4.252e9 |           +0.00% |<br>
> |               smp/callback001 ||  |    1.573e9 |           +0.01% |<br>
> |               smp/callback002 ||  |    2.621e9 |           +0.00% |<br>
> |                      smp/chan ||  |    8.718e9 |           +2.56% |<br>
> |                     smp/sieve ||  |    5.538e9 |           -0.87% |<br>
> |                smp/threads001 ||  |    5.139e9 |           -0.00% |<br>
> |                smp/threads003 ||  |    2.903e9 |           -0.05% |<br>
> |                smp/threads006 ||  |    7.402e8 |           +0.01% |<br>
> |                smp/threads007 ||  |    4.090e9 |           -0.00% |<br>
> |                 spectral/ansi ||  |    5.961e9 |           -0.00% |<br>
> |                 spectral/atom ||  |    5.861e9 |           +0.01% |<br>
> |               spectral/awards ||  |    8.744e9 |           +0.00% |<br>
> |               spectral/banner ||  |    8.824e9 |           +0.23% |<br>
> |                spectral/boyer ||  |    7.657e9 |           -0.00% |<br>
> |               spectral/boyer2 ||  |    8.881e9 |           -0.00% |<br>
> |             spectral/calendar ||  |    7.546e9 |           -0.00% |<br>
> |             spectral/cichelli ||  |    8.625e9 |           +0.01% |<br>
> |              spectral/circsim ||  |    6.850e9 |           +0.00% |<br>
> |             spectral/clausify ||  |    6.223e9 |           -0.00% |<br>
> |          spectral/constraints ||  |    8.314e9 |           +0.14% |<br>
> |         spectral/cryptarithm1 ||  |    7.787e9 |           -0.00% |<br>
> |         spectral/cryptarithm2 ||  |    6.761e9 |           +0.00% |<br>
> |                  spectral/cse ||  |    6.358e9 |           -0.00% |<br>
> |               spectral/dom-lt ||  |    7.774e9 |           -0.00% |<br>
> |                spectral/eliza ||  |    8.273e9 |           +0.00% |<br>
> |          spectral/exact-reals ||  |    5.597e9 |           +0.01% |<br>
> |               spectral/expert ||  |    5.087e9 |           +0.04% |<br>
> |                 spectral/fft2 ||  |    8.831e9 |           +0.31% |<br>
> |             spectral/fibheaps ||  |    8.011e9 |           -0.00% |<br>
> |                 spectral/fish ||  |    7.314e9 |           -0.00% |<br>
> |                  spectral/gcd ||  |    6.386e9 |           -0.00% |<br>
> | spectral/hartel/comp_lab_zift ||  |    8.717e9 |           -0.00% |<br>
> |         spectral/hartel/event ||  |    9.071e9 |           -2.06% |<br>
> |           spectral/hartel/fft ||  |    3.239e9 |           +0.00% |<br>
> |        spectral/hartel/genfft ||  |   1.020e10 |           +0.00% |<br>
> |           spectral/hartel/ida ||  |    5.413e9 |           -0.30% |<br>
> |     spectral/hartel/listcompr ||  |    6.142e9 |           +0.02% |<br>
> |      spectral/hartel/listcopy ||  |    6.757e9 |           +0.02% |<br>
> |      spectral/hartel/nucleic2 ||  |    4.402e9 |           +0.00% |<br>
> |       spectral/hartel/parstof ||  |    5.555e9 |           -0.00% |<br>
> |         spectral/hartel/sched ||  |    5.800e9 |           +0.00% |<br>
> |         spectral/hartel/solid ||  |    5.845e9 |           +0.24% |<br>
> |     spectral/hartel/transform ||  |    5.709e9 |           -0.00% |<br>
> |     spectral/hartel/typecheck ||  |    5.841e9 |           +0.00% |<br>
> |          spectral/hartel/wang ||  |    8.731e9 |           +0.12% |<br>
> |     spectral/hartel/wave4main ||  |    6.024e9 |           -0.00% |<br>
> |              spectral/integer ||  |    7.068e9 |           -0.00% |<br>
> |              spectral/knights ||  |    8.294e9 |           -0.00% |<br>
> |               spectral/lambda ||  |    8.081e9 |           +0.00% |<br>
> |           spectral/last-piece ||  |    1.878e9 |           +0.00% |<br>
> |                 spectral/lcss ||  |    8.761e9 |           -0.00% |<br>
> |                 spectral/life ||  |    9.136e9 |           -0.00% |<br>
> |               spectral/mandel ||  |    7.037e9 |           +0.00% |<br>
> |              spectral/mandel2 ||  |    3.957e9 |           +0.00% |<br>
> |                 spectral/mate ||  |    7.565e9 |           +0.01% |<br>
> |              spectral/minimax ||  |    8.649e9 |           -0.00% |<br>
> |           spectral/multiplier ||  |    6.096e9 |           +0.00% |<br>
> |                 spectral/para ||  |    6.561e9 |           +0.00% |<br>
> |                spectral/power ||  |    6.749e9 |           -0.00% |<br>
> |               spectral/pretty ||  | 851224.000 |           +0.17% |<br>
> |            spectral/primetest ||  |    7.391e9 |           -0.00% |<br>
> |               spectral/puzzle ||  |    6.401e9 |           +0.00% |<br>
> |              spectral/rewrite ||  |    5.553e9 |           +0.67% |<br>
> |                  spectral/scc ||  | 774059.000 |           +0.49% |<br>
> |               spectral/simple ||  |   1.214e10 |           +0.01% |<br>
> |              spectral/sorting ||  |    9.074e9 |           -0.00% |<br>
> |               spectral/sphere ||  |    5.371e9 |           -0.00% |<br>
> |             spectral/treejoin ||  |    9.768e9 |           +0.00% |<br>
> +===============================++==+============+==================+<br>
> |                     geom mean ||  |     +0.05% |                  |<br>
> +-------------------------------++--+------------+------------------+<br>
> <br>
> <br>
> <br>
> # LLC cache misses<br>
> <br>
> +-------------------------------++--+-------------+------------------+<br>
> |                               ||  |     master/ | callstack/ (rel) |<br>
> +===============================++==+=============+==================+<br>
> |          imaginary/bernouilli ||  |    4964.000 |           +1.37% |<br>
> |        imaginary/digits-of-e1 ||  |    4863.000 |           -0.35% |<br>
> |        imaginary/digits-of-e2 ||  |    4958.000 |           +1.63% |<br>
> |              imaginary/exp3_8 ||  |    4513.000 |           +0.42% |<br>
> |         imaginary/gen_regexps ||  |    4535.000 |           +0.09% |<br>
> |           imaginary/integrate ||  |    4733.000 |           +1.08% |<br>
> |               imaginary/kahan ||  |    4447.000 |           -0.13% |<br>
> |           imaginary/paraffins ||  |    4826.000 |           -0.08% |<br>
> |              imaginary/primes ||  |    4876.000 |           +0.94% |<br>
> |              imaginary/queens ||  |    4541.000 |           -0.07% |<br>
> |                imaginary/rfib ||  |    4485.000 |           -0.13% |<br>
> |                 imaginary/tak ||  |    4461.000 |           +0.25% |<br>
> |        imaginary/wheel-sieve1 ||  |    4865.000 |           +1.29% |<br>
> |        imaginary/wheel-sieve2 ||  |    4893.000 |           +1.25% |<br>
> |                imaginary/x2n1 ||  |    4630.000 |           +0.22% |<br>
> |         parallel/blackscholes ||  |   12862.000 |           +0.30% |<br>
> |                parallel/coins ||  | 6455583.000 |           +0.00% |<br>
> |                 parallel/gray ||  |    6372.000 |           +1.77% |<br>
> |               parallel/mandel ||  |  852468.000 |           -0.02% |<br>
> |              parallel/matmult ||  |    4615.000 |           -0.30% |<br>
> |              parallel/minimax ||  |    4617.000 |           +0.84% |<br>
> |                parallel/nbody ||  |    4455.000 |           -0.04% |<br>
> |               parallel/parfib ||  |    4528.000 |           +0.22% |<br>
> |              parallel/partree ||  |    4627.000 |           +0.43% |<br>
> |                 parallel/prsa ||  |    4619.000 |           +0.54% |<br>
> |               parallel/queens ||  |    4528.000 |           +1.37% |<br>
> |                  parallel/ray ||  |    4626.000 |           +0.35% |<br>
> |             parallel/sumeuler ||  |    4446.000 |           +0.13% |<br>
> |            parallel/transclos ||  |    4741.000 |           -0.17% |<br>
> |                     real/anna ||  |    6443.000 |           +5.34% |<br>
> |             real/ben-raytrace ||  |    6819.000 |           -0.13% |<br>
> |                     real/bspt ||  |    5195.000 |           -0.21% |<br>
> |                real/cacheprof ||  |    6734.000 |           +1.62% |<br>
> |                 real/compress ||  |    4914.000 |           +0.53% |<br>
> |                real/compress2 ||  |    4783.000 |           -0.25% |<br>
> |                   real/eff/CS ||  |    4439.000 |           +0.38% |<br>
> |                  real/eff/CSD ||  |    4446.000 |            0.00% |<br>
> |                   real/eff/FS ||  |    4451.000 |           -0.04% |<br>
> |                    real/eff/S ||  | 5619842.000 |           -0.00% |<br>
> |                   real/eff/VS ||  | 1254362.000 |           +0.00% |<br>
> |                  real/eff/VSD ||  |    4403.000 |           -0.43% |<br>
> |                  real/eff/VSM ||  |    4445.000 |           -0.11% |<br>
> |                      real/fem ||  |    4967.000 |           +2.07% |<br>
> |                    real/fluid ||  |    6117.000 |           +0.85% |<br>
> |                   real/fulsom ||  |    5060.000 |           -0.10% |<br>
> |                   real/gamteb ||  |    5615.000 |           +0.64% |<br>
> |                       real/gg ||  |    5242.000 |           +0.88% |<br>
> |                     real/grep ||  |    4866.000 |           +0.62% |<br>
> |                   real/hidden ||  |    5576.000 |           +2.06% |<br>
> |                      real/hpg ||  |    5614.000 |           +2.92% |<br>
> |                    real/infer ||  |    4833.000 |           -0.14% |<br>
> |                     real/lift ||  |    4809.000 |           +1.48% |<br>
> |                   real/linear ||  |    5368.000 |           +4.53% |<br>
> |                 real/maillist ||  |   12942.000 |           +0.32% |<br>
> |                  real/mkhprog ||  |    4483.000 |           +0.20% |<br>
> |                   real/parser ||  |    5309.000 |           +1.64% |<br>
> |                      real/pic ||  |    4937.000 |           +0.81% |<br>
> |                   real/prolog ||  |    4843.000 |           +1.03% |<br>
> |                  real/reptile ||  |    5548.000 |           -0.43% |<br>
> |                      real/rsa ||  |    4667.000 |           +0.26% |<br>
> |                      real/scs ||  |    5667.000 |           +1.48% |<br>
> |                  real/smallpt ||  |    5836.000 |           +1.29% |<br>
> |                   real/symalg ||  |    5422.000 |           +0.30% |<br>
> |                  real/veritas ||  |    6984.000 |           +2.61% |<br>
> |         shootout/binary-trees ||  |    5079.000 |           +0.73% |<br>
> |       shootout/fannkuch-redux ||  |    4478.000 |           -0.51% |<br>
> |                shootout/fasta ||  |    4625.000 |           -0.13% |<br>
> |         shootout/k-nucleotide ||  | 1161663.000 |           -2.58% |<br>
> |               shootout/n-body ||  |    4512.000 |           +0.04% |<br>
> |             shootout/pidigits ||  |    4651.000 |           -0.39% |<br>
> |   shootout/reverse-complement ||  |    4416.000 |            0.00% |<br>
> |        shootout/spectral-norm ||  |    4477.000 |           +0.25% |<br>
> |               smp/callback001 ||  |  488453.000 |           -0.01% |<br>
> |               smp/callback002 ||  |    4513.000 |           -0.11% |<br>
> |                      smp/chan ||  |     1.110e7 |           +7.03% |<br>
> |                     smp/sieve ||  |    4555.000 |           +0.72% |<br>
> |                smp/threads001 ||  |    4481.000 |           +0.49% |<br>
> |                smp/threads003 ||  |   83898.000 |           -1.63% |<br>
> |                smp/threads006 ||  | 1804659.000 |           +0.49% |<br>
> |                smp/threads007 ||  | 2427701.000 |           -0.24% |<br>
> |                 spectral/ansi ||  |    4759.000 |           +0.27% |<br>
> |                 spectral/atom ||  |    4691.000 |           +0.62% |<br>
> |               spectral/awards ||  |    4717.000 |           +1.14% |<br>
> |               spectral/banner ||  |    5056.000 |           +1.21% |<br>
> |                spectral/boyer ||  |    5045.000 |           +0.06% |<br>
> |               spectral/boyer2 ||  |    4832.000 |           -0.04% |<br>
> |             spectral/calendar ||  |    4622.000 |           +0.74% |<br>
> |             spectral/cichelli ||  |    4728.000 |           +1.67% |<br>
> |              spectral/circsim ||  |   40269.000 |           -1.55% |<br>
> |             spectral/clausify ||  |    4835.000 |           -0.17% |<br>
> |          spectral/constraints ||  |    4871.000 |           +1.44% |<br>
> |         spectral/cryptarithm1 ||  |    4562.000 |           +0.18% |<br>
> |         spectral/cryptarithm2 ||  |    4600.000 |           +0.07% |<br>
> |                  spectral/cse ||  |    4534.000 |           +0.33% |<br>
> |               spectral/dom-lt ||  |    5179.000 |           +0.10% |<br>
> |                spectral/eliza ||  |    4968.000 |           +0.34% |<br>
> |          spectral/exact-reals ||  |    4840.000 |           +1.34% |<br>
> |               spectral/expert ||  |    4770.000 |           +2.81% |<br>
> |                 spectral/fft2 ||  |    5296.000 |           +1.91% |<br>
> |             spectral/fibheaps ||  |    4858.000 |           +0.02% |<br>
> |                 spectral/fish ||  |    4687.000 |           +0.04% |<br>
> |                  spectral/gcd ||  |    4575.000 |           +0.22% |<br>
> | spectral/hartel/comp_lab_zift ||  |    4960.000 |           +0.58% |<br>
> |         spectral/hartel/event ||  |    4875.000 |           +0.96% |<br>
> |           spectral/hartel/fft ||  |    5121.000 |           +0.70% |<br>
> |        spectral/hartel/genfft ||  |    4875.000 |           +0.04% |<br>
> |           spectral/hartel/ida ||  |    4877.000 |           +0.84% |<br>
> |     spectral/hartel/listcompr ||  |    4651.000 |           +1.76% |<br>
> |      spectral/hartel/listcopy ||  |    4649.000 |           +1.96% |<br>
> |      spectral/hartel/nucleic2 ||  |    5998.000 |           +0.68% |<br>
> |       spectral/hartel/parstof ||  |    5583.000 |           -0.05% |<br>
> |         spectral/hartel/sched ||  |    4856.000 |           -0.23% |<br>
> |         spectral/hartel/solid ||  |    5282.000 |           +1.21% |<br>
> |     spectral/hartel/transform ||  |    4875.000 |           +1.56% |<br>
> |     spectral/hartel/typecheck ||  |    4724.000 |           +0.95% |<br>
> |          spectral/hartel/wang ||  |    4993.000 |           +2.38% |<br>
> |     spectral/hartel/wave4main ||  |    4877.000 |           -0.04% |<br>
> |              spectral/integer ||  |    4619.000 |           -0.13% |<br>
> |              spectral/knights ||  |    4694.000 |           +0.58% |<br>
> |               spectral/lambda ||  |    4984.000 |           +0.66% |<br>
> |           spectral/last-piece ||  |    4869.000 |           -0.21% |<br>
> |                 spectral/lcss ||  |    4876.000 |           +0.04% |<br>
> |                 spectral/life ||  |    4884.000 |           +1.29% |<br>
> |               spectral/mandel ||  |    4900.000 |           +0.16% |<br>
> |              spectral/mandel2 ||  |    4479.000 |           -0.13% |<br>
> |                 spectral/mate ||  |    5086.000 |           +1.83% |<br>
> |              spectral/minimax ||  |    4605.000 |           -0.04% |<br>
> |           spectral/multiplier ||  |    4672.000 |           +0.98% |<br>
> |                 spectral/para ||  |    4935.000 |           +0.83% |<br>
> |                spectral/power ||  |    4918.000 |           +0.18% |<br>
> |               spectral/pretty ||  |    4432.000 |           +0.14% |<br>
> |            spectral/primetest ||  |    5021.000 |           -0.04% |<br>
> |               spectral/puzzle ||  |    4603.000 |           +0.04% |<br>
> |              spectral/rewrite ||  |    4618.000 |           +0.97% |<br>
> |                  spectral/scc ||  |    4415.000 |           +0.34% |<br>
> |               spectral/simple ||  | 2413361.000 |           -1.18% |<br>
> |              spectral/sorting ||  |    5357.000 |           -1.55% |<br>
> |               spectral/sphere ||  |    5717.000 |           +0.84% |<br>
> |             spectral/treejoin ||  |    5130.000 |           +0.02% |<br>
> +===============================++==+=============+==================+<br>
> |                     geom mean ||  |      +0.58% |                  |<br>
> +-------------------------------++--+-------------+------------------+<br>
> <br>
> <br>
> <br>
> # L1 cache misses<br>
> <br>
> +-------------------------------++--+-------------+------------------+<br>
> |                               ||  |     master/ | callstack/ (rel) |<br>
> +===============================++==+=============+==================+<br>
> |          imaginary/bernouilli ||  |     4.235e7 |           +0.13% |<br>
> |        imaginary/digits-of-e1 ||  | 3708507.000 |           -0.06% |<br>
> |        imaginary/digits-of-e2 ||  |     2.913e7 |           -0.16% |<br>
> |              imaginary/exp3_8 ||  |     1.881e8 |           -0.07% |<br>
> |         imaginary/gen_regexps ||  |     2.915e7 |           -0.05% |<br>
> |           imaginary/integrate ||  | 1341520.000 |           -4.99% |<br>
> |               imaginary/kahan ||  |    7577.000 |           +0.15% |<br>
> |           imaginary/paraffins ||  |     5.994e7 |           -0.02% |<br>
> |              imaginary/primes ||  |     1.165e8 |           -0.01% |<br>
> |              imaginary/queens ||  |  315321.000 |           -0.94% |<br>
> |                imaginary/rfib ||  |    7833.000 |           -0.46% |<br>
> |                 imaginary/tak ||  |    7688.000 |           +0.03% |<br>
> |        imaginary/wheel-sieve1 ||  | 7508229.000 |           +0.51% |<br>
> |        imaginary/wheel-sieve2 ||  |     4.338e7 |           -0.02% |<br>
> |                imaginary/x2n1 ||  |  129793.000 |           +0.50% |<br>
> |         parallel/blackscholes ||  |     1.550e7 |           -0.16% |<br>
> |                parallel/coins ||  |     3.952e7 |           +0.26% |<br>
> |                 parallel/gray ||  |     1.736e7 |           +1.38% |<br>
> |               parallel/mandel ||  |     1.356e7 |           +0.20% |<br>
> |              parallel/matmult ||  |     5.267e8 |           -0.01% |<br>
> |              parallel/minimax ||  |     1.140e8 |           -0.14% |<br>
> |                parallel/nbody ||  |     1.248e7 |           -0.02% |<br>
> |               parallel/parfib ||  |  252463.000 |           +6.49% |<br>
> |              parallel/partree ||  |     5.642e7 |           +0.08% |<br>
> |                 parallel/prsa ||  | 5700667.000 |           +0.27% |<br>
> |               parallel/queens ||  | 3129546.000 |           +0.19% |<br>
> |                  parallel/ray ||  |     1.260e7 |           +4.27% |<br>
> |             parallel/sumeuler ||  |   35221.000 |           -0.07% |<br>
> |            parallel/transclos ||  |     1.863e7 |           +0.17% |<br>
> |                     real/anna ||  |     3.737e7 |           +0.10% |<br>
> |             real/ben-raytrace ||  |     6.695e7 |           +0.59% |<br>
> |                     real/bspt ||  |     1.492e8 |           +0.01% |<br>
> |                real/cacheprof ||  |     5.661e7 |           -0.24% |<br>
> |                 real/compress ||  |     3.247e7 |           -2.71% |<br>
> |                real/compress2 ||  |     2.717e7 |           +0.13% |<br>
> |                   real/eff/CS ||  |   54141.000 |           -0.28% |<br>
> |                  real/eff/CSD ||  |  532877.000 |           -0.07% |<br>
> |                   real/eff/FS ||  |  512883.000 |           +0.18% |<br>
> |                    real/eff/S ||  |     1.412e7 |           -0.07% |<br>
> |                   real/eff/VS ||  | 6730192.000 |           -0.42% |<br>
> |                  real/eff/VSD ||  |    7449.000 |           -0.30% |<br>
> |                  real/eff/VSM ||  |  121912.000 |           -0.22% |<br>
> |                      real/fem ||  |     3.841e7 |           +6.86% |<br>
> |                    real/fluid ||  |     1.579e7 |           +0.91% |<br>
> |                   real/fulsom ||  |     1.036e7 |           +0.03% |<br>
> |                   real/gamteb ||  |     3.473e7 |           -0.02% |<br>
> |                       real/gg ||  |     7.439e7 |           +0.09% |<br>
> |                     real/grep ||  |     7.940e7 |           +0.08% |<br>
> |                   real/hidden ||  |     1.074e7 |           +0.20% |<br>
> |                      real/hpg ||  |     1.757e7 |           +0.32% |<br>
> |                    real/infer ||  |     2.006e8 |           -0.02% |<br>
> |                     real/lift ||  |     2.741e7 |           +0.20% |<br>
> |                   real/linear ||  |     8.899e7 |           +1.27% |<br>
> |                 real/maillist ||  | 9646364.000 |           -0.06% |<br>
> |                  real/mkhprog ||  |   11950.000 |           +3.72% |<br>
> |                   real/parser ||  |     1.269e7 |           +0.92% |<br>
> |                      real/pic ||  |     4.450e7 |           -0.24% |<br>
> |                   real/prolog ||  |     2.973e7 |           -0.34% |<br>
> |                  real/reptile ||  |     1.945e7 |           -0.07% |<br>
> |                      real/rsa ||  | 1310283.000 |           -0.18% |<br>
> |                      real/scs ||  |     1.916e7 |           +0.06% |<br>
> |                  real/smallpt ||  | 7088127.000 |           +0.47% |<br>
> |                   real/symalg ||  | 5981494.000 |           -0.11% |<br>
> |                  real/veritas ||  |     1.860e7 |           -1.22% |<br>
> |         shootout/binary-trees ||  |     3.661e7 |           +0.01% |<br>
> |       shootout/fannkuch-redux ||  |    7741.000 |           -0.62% |<br>
> |                shootout/fasta ||  |     5.215e7 |           +0.01% |<br>
> |         shootout/k-nucleotide ||  |     1.247e7 |           +0.01% |<br>
> |               shootout/n-body ||  |    8025.000 |           +0.04% |<br>
> |             shootout/pidigits ||  |     2.316e8 |           +0.02% |<br>
> |   shootout/reverse-complement ||  |    7627.000 |           -0.20% |<br>
> |        shootout/spectral-norm ||  |   21764.000 |           +0.23% |<br>
> |               smp/callback001 ||  | 5824201.000 |           +0.07% |<br>
> |               smp/callback002 ||  | 8288204.000 |           -0.09% |<br>
> |                      smp/chan ||  |     2.846e7 |           +2.62% |<br>
> |                     smp/sieve ||  |     5.400e7 |           -1.10% |<br>
> |                smp/threads001 ||  |     2.312e7 |           +0.45% |<br>
> |                smp/threads003 ||  |     4.773e7 |           -0.22% |<br>
> |                smp/threads006 ||  | 9331792.000 |           +0.02% |<br>
> |                smp/threads007 ||  |     2.721e7 |           +0.36% |<br>
> |                 spectral/ansi ||  |     6.940e7 |           -0.01% |<br>
> |                 spectral/atom ||  |     1.248e8 |           +0.01% |<br>
> |               spectral/awards ||  | 7810137.000 |           -1.82% |<br>
> |               spectral/banner ||  |     3.727e7 |           +2.57% |<br>
> |                spectral/boyer ||  |     2.284e7 |           -0.19% |<br>
> |               spectral/boyer2 ||  |     3.926e7 |           -0.63% |<br>
> |             spectral/calendar ||  | 7366268.000 |           -0.91% |<br>
> |             spectral/cichelli ||  |     1.797e7 |           +0.02% |<br>
> |              spectral/circsim ||  |     9.138e7 |           +0.07% |<br>
> |             spectral/clausify ||  | 6134801.000 |           -0.11% |<br>
> |          spectral/constraints ||  |     2.950e7 |           +0.38% |<br>
> |         spectral/cryptarithm1 ||  | 3139494.000 |           +0.08% |<br>
> |         spectral/cryptarithm2 ||  | 3481535.000 |           +0.35% |<br>
> |                  spectral/cse ||  | 4798864.000 |           -7.01% |<br>
> |               spectral/dom-lt ||  |     2.556e7 |           -0.11% |<br>
> |                spectral/eliza ||  |     1.921e7 |           +1.14% |<br>
> |          spectral/exact-reals ||  | 2391927.000 |           +1.24% |<br>
> |               spectral/expert ||  |     2.311e7 |           -0.08% |<br>
> |                 spectral/fft2 ||  |     1.917e8 |           +0.81% |<br>
> |             spectral/fibheaps ||  |     5.236e7 |           -0.06% |<br>
> |                 spectral/fish ||  | 8017906.000 |           +0.13% |<br>
> |                  spectral/gcd ||  | 1652038.000 |           +0.07% |<br>
> | spectral/hartel/comp_lab_zift ||  |     6.167e7 |           -0.11% |<br>
> |         spectral/hartel/event ||  |     4.857e7 |           -2.47% |<br>
> |           spectral/hartel/fft ||  |     3.723e7 |           -0.04% |<br>
> |        spectral/hartel/genfft ||  |     2.201e7 |           +1.31% |<br>
> |           spectral/hartel/ida ||  |     1.316e7 |           +0.16% |<br>
> |     spectral/hartel/listcompr ||  | 9143834.000 |           +1.54% |<br>
> |      spectral/hartel/listcopy ||  |     1.018e7 |           +2.27% |<br>
> |      spectral/hartel/nucleic2 ||  |     1.035e7 |           -2.83% |<br>
> |       spectral/hartel/parstof ||  |     2.290e7 |           -2.36% |<br>
> |         spectral/hartel/sched ||  | 6090930.000 |           -0.15% |<br>
> |         spectral/hartel/solid ||  |     3.408e7 |           +0.00% |<br>
> |     spectral/hartel/transform ||  |     2.255e7 |           +0.25% |<br>
> |     spectral/hartel/typecheck ||  |     1.447e7 |           -1.37% |<br>
> |          spectral/hartel/wang ||  |     1.089e8 |           +0.19% |<br>
> |     spectral/hartel/wave4main ||  |     8.229e7 |           +0.29% |<br>
> |              spectral/integer ||  | 1101168.000 |           -0.06% |<br>
> |              spectral/knights ||  |     3.424e7 |           +0.92% |<br>
> |               spectral/lambda ||  |     6.667e7 |           +0.14% |<br>
> |           spectral/last-piece ||  | 3620219.000 |           -0.43% |<br>
> |                 spectral/lcss ||  |     7.252e7 |           -0.26% |<br>
> |                 spectral/life ||  |     1.231e8 |           -0.11% |<br>
> |               spectral/mandel ||  |  741678.000 |           +0.09% |<br>
> |              spectral/mandel2 ||  |  311375.000 |           +0.79% |<br>
> |                 spectral/mate ||  | 4858523.000 |           -1.23% |<br>
> |              spectral/minimax ||  | 1172869.000 |           +0.51% |<br>
> |           spectral/multiplier ||  |     1.060e8 |           +0.03% |<br>
> |                 spectral/para ||  |     5.089e7 |           +0.15% |<br>
> |                spectral/power ||  |     4.488e7 |           -0.00% |<br>
> |               spectral/pretty ||  |    7649.000 |           +0.38% |<br>
> |            spectral/primetest ||  |  500918.000 |           +1.32% |<br>
> |               spectral/puzzle ||  | 3210919.000 |           -0.09% |<br>
> |              spectral/rewrite ||  |  825290.000 |           -7.73% |<br>
> |                  spectral/scc ||  |    7483.000 |           +0.16% |<br>
> |               spectral/simple ||  |     8.786e7 |           +0.01% |<br>
> |              spectral/sorting ||  |     1.261e8 |           -0.02% |<br>
> |               spectral/sphere ||  | 4854033.000 |           +0.43% |<br>
> |             spectral/treejoin ||  |     8.455e7 |           +0.03% |<br>
> +===============================++==+=============+==================+<br>
> |                     geom mean ||  |      +0.03% |                  |<br>
> +-------------------------------++--+-------------+------------------+<br>
> <br>
> <br>
> # perf instructions<br>
> <br>
> +-------------------------------++--+-------------+------------------+<br>
> |                               ||  |     master/ | callstack/ (rel) |<br>
> +===============================++==+=============+==================+<br>
> |          imaginary/bernouilli ||  |     7.085e9 |           -0.22% |<br>
> |        imaginary/digits-of-e1 ||  |     5.547e9 |           -0.03% |<br>
> |        imaginary/digits-of-e2 ||  |     5.549e9 |           -0.06% |<br>
> |              imaginary/exp3_8 ||  |     8.785e9 |           -0.06% |<br>
> |         imaginary/gen_regexps ||  |     8.650e9 |           -0.04% |<br>
> |           imaginary/integrate ||  |     6.260e9 |           +0.20% |<br>
> |               imaginary/kahan ||  |     6.699e9 |           +0.16% |<br>
> |           imaginary/paraffins ||  |     8.112e9 |           -0.24% |<br>
> |              imaginary/primes ||  |     8.244e9 |           -0.24% |<br>
> |              imaginary/queens ||  |    1.009e10 |           +0.04% |<br>
> |                imaginary/rfib ||  |     5.298e9 |           +0.14% |<br>
> |                 imaginary/tak ||  |     5.861e9 |           +0.10% |<br>
> |        imaginary/wheel-sieve1 ||  |     6.662e9 |           -0.76% |<br>
> |        imaginary/wheel-sieve2 ||  |     6.278e9 |           +0.38% |<br>
> |                imaginary/x2n1 ||  |     7.453e9 |           -0.12% |<br>
> |         parallel/blackscholes ||  |     8.096e9 |           -0.18% |<br>
> |                parallel/coins ||  |    1.194e10 |           -0.03% |<br>
> |                 parallel/gray ||  |     6.154e9 |           -0.07% |<br>
> |               parallel/mandel ||  |    3.293e10 |           +0.12% |<br>
> |              parallel/matmult ||  |    1.118e10 |           +0.06% |<br>
> |              parallel/minimax ||  |    3.867e10 |           -0.11% |<br>
> |                parallel/nbody ||  |     7.934e8 |           +0.05% |<br>
> |               parallel/parfib ||  |    2.232e10 |           -0.01% |<br>
> |              parallel/partree ||  |     7.358e9 |           +0.02% |<br>
> |                 parallel/prsa ||  |    1.808e10 |           +0.14% |<br>
> |               parallel/queens ||  |    1.037e10 |           -0.03% |<br>
> |                  parallel/ray ||  |    1.301e10 |           +0.01% |<br>
> |             parallel/sumeuler ||  |     3.487e9 |           -0.01% |<br>
> |            parallel/transclos ||  |    1.983e10 |           -0.02% |<br>
> |                     real/anna ||  |     5.334e9 |           +0.27% |<br>
> |             real/ben-raytrace ||  |    1.216e11 |           -0.02% |<br>
> |                     real/bspt ||  |     9.224e9 |           -0.05% |<br>
> |                real/cacheprof ||  |     6.735e9 |           -0.46% |<br>
> |                 real/compress ||  |     5.810e9 |           +0.07% |<br>
> |                real/compress2 ||  |     4.580e9 |           -0.21% |<br>
> |                   real/eff/CS ||  |     7.582e8 |           +1.19% |<br>
> |                  real/eff/CSD ||  |     3.758e9 |           -0.56% |<br>
> |                   real/eff/FS ||  |     2.792e9 |           +0.02% |<br>
> |                    real/eff/S ||  |     4.760e9 |           -0.60% |<br>
> |                   real/eff/VS ||  |     2.285e9 |           +0.20% |<br>
> |                  real/eff/VSD ||  |     8.315e7 |           +0.02% |<br>
> |                  real/eff/VSM ||  |     9.480e8 |           +1.48% |<br>
> |                      real/fem ||  |     6.641e9 |           -0.53% |<br>
> |                    real/fluid ||  |     3.914e9 |           +0.00% |<br>
> |                   real/fulsom ||  |     2.497e9 |           -0.22% |<br>
> |                   real/gamteb ||  |    1.013e10 |           -0.01% |<br>
> |                       real/gg ||  |     7.243e9 |           +0.12% |<br>
> |                     real/grep ||  |     7.563e9 |           -0.10% |<br>
> |                   real/hidden ||  |     7.209e9 |           +1.57% |<br>
> |                      real/hpg ||  |     4.982e9 |           +0.91% |<br>
> |                    real/infer ||  |     8.312e9 |           +0.11% |<br>
> |                     real/lift ||  |     4.441e9 |           -0.18% |<br>
> |                   real/linear ||  |     8.438e9 |           +1.90% |<br>
> |                 real/maillist ||  |     4.297e9 |           -0.94% |<br>
> |                  real/mkhprog ||  |     2.874e7 |           -0.06% |<br>
> |                   real/parser ||  |     5.177e9 |           +0.14% |<br>
> |                      real/pic ||  |     3.265e9 |           +0.10% |<br>
> |                   real/prolog ||  |     5.755e9 |           -0.18% |<br>
> |                  real/reptile ||  |     6.050e9 |           +0.07% |<br>
> |                      real/rsa ||  |     7.177e9 |           +0.03% |<br>
> |                      real/scs ||  |     6.184e9 |           -0.23% |<br>
> |                  real/smallpt ||  |    1.129e10 |           -0.16% |<br>
> |                   real/symalg ||  |     8.247e9 |           -0.14% |<br>
> |                  real/veritas ||  |     4.833e9 |           -0.01% |<br>
> |         shootout/binary-trees ||  |    1.071e10 |           +0.12% |<br>
> |       shootout/fannkuch-redux ||  |    1.912e10 |           +0.12% |<br>
> |                shootout/fasta ||  |     4.273e9 |           -0.50% |<br>
> |         shootout/k-nucleotide ||  |     4.227e9 |           -1.34% |<br>
> |               shootout/n-body ||  |     3.725e9 |           -0.23% |<br>
> |             shootout/pidigits ||  |     8.095e9 |           -0.04% |<br>
> |   shootout/reverse-complement ||  | 3245583.000 |           -2.41% |<br>
> |        shootout/spectral-norm ||  |     4.238e9 |           -0.15% |<br>
> |               smp/callback001 ||  |     1.601e9 |           +0.55% |<br>
> |               smp/callback002 ||  |     2.619e9 |           +0.19% |<br>
> |                      smp/chan ||  |     7.817e9 |           -0.01% |<br>
> |                     smp/sieve ||  |     2.361e9 |           +0.85% |<br>
> |                smp/threads001 ||  |     5.145e9 |           +0.17% |<br>
> |                smp/threads003 ||  |     2.922e9 |           -0.06% |<br>
> |                smp/threads006 ||  |     1.081e9 |           +4.82% |<br>
> |                smp/threads007 ||  |     4.328e9 |           +0.63% |<br>
> |                 spectral/ansi ||  |     5.961e9 |           +0.21% |<br>
> |                 spectral/atom ||  |     5.864e9 |           -0.10% |<br>
> |               spectral/awards ||  |     8.749e9 |           -0.02% |<br>
> |               spectral/banner ||  |     8.862e9 |           +0.12% |<br>
> |                spectral/boyer ||  |     7.669e9 |           -0.09% |<br>
> |               spectral/boyer2 ||  |     8.888e9 |           +0.04% |<br>
> |             spectral/calendar ||  |     7.541e9 |           +0.13% |<br>
> |             spectral/cichelli ||  |     8.675e9 |           -0.17% |<br>
> |              spectral/circsim ||  |     6.901e9 |           +0.12% |<br>
> |             spectral/clausify ||  |     6.227e9 |           -0.09% |<br>
> |          spectral/constraints ||  |     8.308e9 |           +0.36% |<br>
> |         spectral/cryptarithm1 ||  |     7.804e9 |           -0.23% |<br>
> |         spectral/cryptarithm2 ||  |     6.757e9 |           +0.11% |<br>
> |                  spectral/cse ||  |     6.357e9 |           +0.01% |<br>
> |               spectral/dom-lt ||  |     7.774e9 |           +0.17% |<br>
> |                spectral/eliza ||  |     8.279e9 |           -0.12% |<br>
> |          spectral/exact-reals ||  |     5.599e9 |           -0.07% |<br>
> |               spectral/expert ||  |     5.096e9 |           -0.09% |<br>
> |                 spectral/fft2 ||  |     8.818e9 |           +0.48% |<br>
> |             spectral/fibheaps ||  |     8.019e9 |           -0.12% |<br>
> |                 spectral/fish ||  |     7.319e9 |           -0.03% |<br>
> |                  spectral/gcd ||  |     6.381e9 |           +0.26% |<br>
> | spectral/hartel/comp_lab_zift ||  |     8.747e9 |           -0.45% |<br>
> |         spectral/hartel/event ||  |     9.153e9 |           -1.50% |<br>
> |           spectral/hartel/fft ||  |     3.237e9 |           -0.02% |<br>
> |        spectral/hartel/genfft ||  |    1.020e10 |           +0.14% |<br>
> |           spectral/hartel/ida ||  |     5.420e9 |           -0.32% |<br>
> |     spectral/hartel/listcompr ||  |     6.143e9 |           +0.12% |<br>
> |      spectral/hartel/listcopy ||  |     6.759e9 |           +0.01% |<br>
> |      spectral/hartel/nucleic2 ||  |     4.413e9 |           -0.67% |<br>
> |       spectral/hartel/parstof ||  |     5.552e9 |           +0.04% |<br>
> |         spectral/hartel/sched ||  |     5.807e9 |           -0.02% |<br>
> |         spectral/hartel/solid ||  |     5.850e9 |           +0.22% |<br>
> |     spectral/hartel/transform ||  |     5.713e9 |           -0.01% |<br>
> |     spectral/hartel/typecheck ||  |     5.844e9 |           -0.04% |<br>
> |          spectral/hartel/wang ||  |     8.727e9 |           +0.29% |<br>
> |     spectral/hartel/wave4main ||  |     6.034e9 |           -0.20% |<br>
> |              spectral/integer ||  |     7.048e9 |           +0.64% |<br>
> |              spectral/knights ||  |     8.310e9 |           -0.08% |<br>
> |               spectral/lambda ||  |     8.091e9 |           -0.12% |<br>
> |           spectral/last-piece ||  |     1.877e9 |           +0.11% |<br>
> |                 spectral/lcss ||  |     8.776e9 |           -0.10% |<br>
> |                 spectral/life ||  |     9.143e9 |           -0.05% |<br>
> |               spectral/mandel ||  |     7.015e9 |           +0.24% |<br>
> |              spectral/mandel2 ||  |     3.957e9 |           +0.03% |<br>
> |                 spectral/mate ||  |     7.573e9 |           +0.11% |<br>
> |              spectral/minimax ||  |     8.645e9 |           +0.10% |<br>
> |           spectral/multiplier ||  |     6.097e9 |           +0.06% |<br>
> |                 spectral/para ||  |     6.562e9 |           +0.03% |<br>
> |                spectral/power ||  |     6.758e9 |           -0.23% |<br>
> |               spectral/pretty ||  | 3371581.000 |           -0.75% |<br>
> |            spectral/primetest ||  |     7.409e9 |           -0.04% |<br>
> |               spectral/puzzle ||  |     6.405e9 |           -0.19% |<br>
> |              spectral/rewrite ||  |     5.558e9 |           +0.62% |<br>
> |                  spectral/scc ||  | 3244220.000 |           -1.55% |<br>
> |               spectral/simple ||  |    1.220e10 |           +0.25% |<br>
> |              spectral/sorting ||  |     9.082e9 |           -0.05% |<br>
> |               spectral/sphere ||  |     5.371e9 |           -0.18% |<br>
> |             spectral/treejoin ||  |     9.881e9 |           -0.07% |<br>
> +===============================++==+=============+==================+<br>
> |                     geom mean ||  |      +0.02% |                  |<br>
> +-------------------------------++--+-------------+------------------+<br>
> <br>
> <br>
> <br>
> # perf cycles<br>
> <br>
> +-------------------------------++--+-------------+------------------+<br>
> |                               ||  |     master/ | callstack/ (rel) |<br>
> +===============================++==+=============+==================+<br>
> |          imaginary/bernouilli ||  |     3.726e9 |           +0.96% |<br>
> |        imaginary/digits-of-e1 ||  |     2.561e9 |           +3.96% |<br>
> |        imaginary/digits-of-e2 ||  |     2.828e9 |           -1.96% |<br>
> |              imaginary/exp3_8 ||  |     3.231e9 |           +2.40% |<br>
> |         imaginary/gen_regexps ||  |     4.250e9 |           +0.26% |<br>
> |           imaginary/integrate ||  |     2.968e9 |           -9.55% |<br>
> |               imaginary/kahan ||  |     3.062e9 |           -0.40% |<br>
> |           imaginary/paraffins ||  |     3.083e9 |           -1.94% |<br>
> |              imaginary/primes ||  |     2.593e9 |           +1.49% |<br>
> |              imaginary/queens ||  |     4.713e9 |           -0.75% |<br>
> |                imaginary/rfib ||  |     3.942e9 |           -0.09% |<br>
> |                 imaginary/tak ||  |     4.385e9 |           -0.60% |<br>
> |        imaginary/wheel-sieve1 ||  |     4.582e9 |          -43.27% |<br>
> |        imaginary/wheel-sieve2 ||  |     2.563e9 |           -2.37% |<br>
> |                imaginary/x2n1 ||  |     2.867e9 |           +0.10% |<br>
> |         parallel/blackscholes ||  |     4.854e9 |           -1.40% |<br>
> |                parallel/coins ||  |     4.809e9 |           -0.08% |<br>
> |                 parallel/gray ||  |     3.600e9 |           +2.96% |<br>
> |               parallel/mandel ||  |    1.481e10 |           -1.08% |<br>
> |              parallel/matmult ||  |    1.570e10 |           -2.83% |<br>
> |              parallel/minimax ||  |    2.420e10 |           +7.85% |<br>
> |                parallel/nbody ||  |     4.377e8 |           +1.37% |<br>
> |               parallel/parfib ||  |    1.752e10 |           +0.16% |<br>
> |              parallel/partree ||  |     3.345e9 |           +2.19% |<br>
> |                 parallel/prsa ||  |     7.052e9 |           +6.03% |<br>
> |               parallel/queens ||  |     4.686e9 |           +0.06% |<br>
> |                  parallel/ray ||  |     9.246e9 |           -2.73% |<br>
> |             parallel/sumeuler ||  |     4.166e9 |           -1.20% |<br>
> |            parallel/transclos ||  |    1.095e10 |           +1.05% |<br>
> |                     real/anna ||  |     5.456e9 |           -0.28% |<br>
> |             real/ben-raytrace ||  |    6.268e10 |           +2.87% |<br>
> |                     real/bspt ||  |     3.695e9 |           -0.12% |<br>
> |                real/cacheprof ||  |     3.822e9 |           +5.28% |<br>
> |                 real/compress ||  |     2.389e9 |           -0.41% |<br>
> |                real/compress2 ||  |     3.284e9 |           -4.00% |<br>
> |                   real/eff/CS ||  |     1.825e8 |           +0.07% |<br>
> |                  real/eff/CSD ||  |     1.185e9 |           -0.92% |<br>
> |                   real/eff/FS ||  |     9.959e8 |           +8.14% |<br>
> |                    real/eff/S ||  |     2.161e9 |           +3.14% |<br>
> |                   real/eff/VS ||  |     9.353e8 |           -4.17% |<br>
> |                  real/eff/VSD ||  |     2.326e7 |           +3.42% |<br>
> |                  real/eff/VSM ||  |     3.006e8 |          -15.15% |<br>
> |                      real/fem ||  |     3.274e9 |           -5.66% |<br>
> |                    real/fluid ||  |     3.224e9 |           -2.00% |<br>
> |                   real/fulsom ||  |     1.922e9 |           -1.85% |<br>
> |                   real/gamteb ||  |     5.555e9 |           -0.95% |<br>
> |                       real/gg ||  |     3.717e9 |           +6.49% |<br>
> |                     real/grep ||  |     3.266e9 |           -4.20% |<br>
> |                   real/hidden ||  |     5.666e9 |           -6.63% |<br>
> |                      real/hpg ||  |     3.082e9 |           +8.56% |<br>
> |                    real/infer ||  |     4.526e9 |           +4.02% |<br>
> |                     real/lift ||  |     3.450e9 |           -0.91% |<br>
> |                   real/linear ||  |     6.195e9 |           -3.28% |<br>
> |                 real/maillist ||  |     3.815e9 |           -3.44% |<br>
> |                  real/mkhprog ||  |     1.859e7 |           -4.29% |<br>
> |                   real/parser ||  |     3.315e9 |           +1.96% |<br>
> |                      real/pic ||  |     2.259e9 |           -2.02% |<br>
> |                   real/prolog ||  |     4.197e9 |           +0.39% |<br>
> |                  real/reptile ||  |     3.234e9 |           -1.87% |<br>
> |                      real/rsa ||  |     2.852e9 |           -1.52% |<br>
> |                      real/scs ||  |     2.870e9 |           -2.91% |<br>
> |                  real/smallpt ||  |     7.328e9 |           +0.78% |<br>
> |                   real/symalg ||  |     3.427e9 |           +0.10% |<br>
> |                  real/veritas ||  |     2.909e9 |           +0.50% |<br>
> |         shootout/binary-trees ||  |     5.018e9 |           -0.06% |<br>
> |       shootout/fannkuch-redux ||  |    1.014e10 |           -2.68% |<br>
> |                shootout/fasta ||  |     2.439e9 |           +1.45% |<br>
> |         shootout/k-nucleotide ||  |     3.488e9 |           +4.66% |<br>
> |               shootout/n-body ||  |     2.098e9 |           -0.03% |<br>
> |             shootout/pidigits ||  |     3.265e9 |           -0.18% |<br>
> |   shootout/reverse-complement ||  | 3311908.000 |           -6.15% |<br>
> |        shootout/spectral-norm ||  |     1.525e9 |           +0.62% |<br>
> |               smp/callback001 ||  |     8.318e8 |           +9.35% |<br>
> |               smp/callback002 ||  |     1.337e9 |           +5.34% |<br>
> |                      smp/chan ||  |     3.236e9 |           -0.99% |<br>
> |                     smp/sieve ||  |     7.368e8 |           -0.27% |<br>
> |                smp/threads001 ||  |     2.874e9 |           -0.77% |<br>
> |                smp/threads003 ||  |     1.841e9 |           -0.36% |<br>
> |                smp/threads006 ||  |     1.144e9 |           +2.09% |<br>
> |                smp/threads007 ||  |     3.534e9 |           +3.85% |<br>
> |                 spectral/ansi ||  |     1.973e9 |           -2.41% |<br>
> |                 spectral/atom ||  |     2.944e9 |           -0.80% |<br>
> |               spectral/awards ||  |     5.452e9 |          -11.68% |<br>
> |               spectral/banner ||  |     4.185e9 |           -0.68% |<br>
> |                spectral/boyer ||  |     4.195e9 |           -1.23% |<br>
> |               spectral/boyer2 ||  |     4.586e9 |           -1.21% |<br>
> |             spectral/calendar ||  |     3.726e9 |           -1.97% |<br>
> |             spectral/cichelli ||  |     4.325e9 |           -0.26% |<br>
> |              spectral/circsim ||  |     5.746e9 |           -0.23% |<br>
> |             spectral/clausify ||  |     3.735e9 |           +0.10% |<br>
> |          spectral/constraints ||  |     5.202e9 |           +2.10% |<br>
> |         spectral/cryptarithm1 ||  |     3.909e9 |           -4.03% |<br>
> |         spectral/cryptarithm2 ||  |     3.759e9 |           -1.27% |<br>
> |                  spectral/cse ||  |     4.564e9 |           -2.83% |<br>
> |               spectral/dom-lt ||  |     4.830e9 |           -0.05% |<br>
> |                spectral/eliza ||  |     4.631e9 |           -6.18% |<br>
> |          spectral/exact-reals ||  |     3.471e9 |           -0.08% |<br>
> |               spectral/expert ||  |     4.020e9 |           -1.27% |<br>
> |                 spectral/fft2 ||  |     4.706e9 |           -1.71% |<br>
> |             spectral/fibheaps ||  |     4.492e9 |           +0.55% |<br>
> |                 spectral/fish ||  |     4.004e9 |           +3.76% |<br>
> |                  spectral/gcd ||  |     3.413e9 |           -2.86% |<br>
> | spectral/hartel/comp_lab_zift ||  |     5.377e9 |           +4.10% |<br>
> |         spectral/hartel/event ||  |     5.456e9 |           -1.84% |<br>
> |           spectral/hartel/fft ||  |     1.732e9 |           +0.20% |<br>
> |        spectral/hartel/genfft ||  |     5.124e9 |           +2.82% |<br>
> |           spectral/hartel/ida ||  |     4.414e9 |           +2.00% |<br>
> |     spectral/hartel/listcompr ||  |     3.458e9 |           +3.84% |<br>
> |      spectral/hartel/listcopy ||  |     3.776e9 |           -4.30% |<br>
> |      spectral/hartel/nucleic2 ||  |     4.137e9 |           +4.49% |<br>
> |       spectral/hartel/parstof ||  |     4.609e9 |           -0.54% |<br>
> |         spectral/hartel/sched ||  |     4.245e9 |           -0.19% |<br>
> |         spectral/hartel/solid ||  |     3.587e9 |           +1.04% |<br>
> |     spectral/hartel/transform ||  |     3.793e9 |           +4.13% |<br>
> |     spectral/hartel/typecheck ||  |     4.627e9 |           -1.51% |<br>
> |          spectral/hartel/wang ||  |     4.369e9 |           -1.01% |<br>
> |     spectral/hartel/wave4main ||  |     4.844e9 |           -5.68% |<br>
> |              spectral/integer ||  |     3.150e9 |           -5.21% |<br>
> |              spectral/knights ||  |     4.198e9 |          +21.03% |<br>
> |               spectral/lambda ||  |     3.534e9 |           +1.90% |<br>
> |           spectral/last-piece ||  |     1.134e9 |           +0.65% |<br>
> |                 spectral/lcss ||  |     3.905e9 |           -0.64% |<br>
> |                 spectral/life ||  |     5.646e9 |           -6.52% |<br>
> |               spectral/mandel ||  |     3.529e9 |           -6.31% |<br>
> |              spectral/mandel2 ||  |     2.570e9 |           -0.24% |<br>
> |                 spectral/mate ||  |     5.761e9 |           +4.42% |<br>
> |              spectral/minimax ||  |     4.569e9 |           -1.24% |<br>
> |           spectral/multiplier ||  |     3.060e9 |           +6.04% |<br>
> |                 spectral/para ||  |     4.232e9 |           +1.90% |<br>
> |                spectral/power ||  |     3.808e9 |           -1.38% |<br>
> |               spectral/pretty ||  | 3403388.000 |          -22.39% |<br>
> |            spectral/primetest ||  |     3.203e9 |           -4.45% |<br>
> |               spectral/puzzle ||  |     4.362e9 |           -0.34% |<br>
> |              spectral/rewrite ||  |     3.840e9 |           +4.16% |<br>
> |                  spectral/scc ||  | 3133857.000 |           +1.57% |<br>
> |               spectral/simple ||  |     7.219e9 |           -1.59% |<br>
> |              spectral/sorting ||  |     4.285e9 |           -0.29% |<br>
> |               spectral/sphere ||  |     3.674e9 |           -3.88% |<br>
> |             spectral/treejoin ||  |     4.910e9 |           +0.19% |<br>
> +===============================++==+=============+==================+<br>
> |                     geom mean ||  |      -0.80% |                  |<br>
> +-------------------------------++--+-------------+------------------+<br>
> <br>
> _______________________________________________<br>
> Libraries mailing list<br>
> <a href="mailto:Libraries@haskell.org" target="_blank">Libraries@haskell.org</a><br>
> <a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries</a><br>
> <br>
_______________________________________________<br>
Libraries mailing list<br>
<a href="mailto:Libraries@haskell.org" target="_blank">Libraries@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries</a><br>
</blockquote></div>