[Haskell-cafe] Re: Write Haskell as fast as C. [Was: Re: GHC
predictability]
Andrew Coppin
andrewcoppin at btinternet.com
Fri May 16 14:56:36 EDT 2008
Don Stewart wrote:
> I've written an extended post on how to understand and reliably optimise
> code like this, looking at it all the way down to the assembly.
>
> The result are some simple rules to follow for generated code as good
> as gcc -O2.
>
> Enjoy,
>
> http://cgi.cse.unsw.edu.au/~dons/blog/2008/05/16#fast
>
A well-written piece, as always.
My feelings are ambivilent. On the one hand, it's reassuring that such
good performance can be obtained without resorting to calling C,
explicit unboxed types, GHC-specific hacks, strictness annotations,
manual seq calls, strange case expressions, or really anything remotely
odd. It's fairly plain Haskell '98 that most beginners would be able to
read through and eventually understand. And yet it's fast.
On the other hand, this is the anti-theisis of Haskell. We start with a
high-level, declarative program, which performs horribly, and end up
with a manually hand-optimised blob that's much harder to read but goes
way faster. Obviously most people would prefer to write declarative code
and feel secure that the compiler is going to produce something efficient.
If the muse takes me, maybe I'll see if I can't find a less ugly way to
do this...
More information about the Haskell-Cafe
mailing list