So in a few years time when GHC has matured we can expect performance
to be on par with current Clean? So Clean is a good approximation to
peak performance?<br>
<br>
--ryan<br><br><div><span class="gmail_quote">On 10/31/07, <b class="gmail_sendername">Don Stewart</b> <<a href="mailto:dons@galois.com">dons@galois.com</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
ndmitchell:<br>> Hi<br>><br>> I've been working on optimising Haskell for a little while<br>> (<a href="http://www-users.cs.york.ac.uk/~ndm/supero/">http://www-users.cs.york.ac.uk/~ndm/supero/</a>), so here are my thoughts
<br>> on this. The Clean and Haskell languages both reduce to pretty much<br>> the same Core language, with pretty much the same type system, once<br>> you get down to it - so I don't think the difference between the
<br>> performance is a language thing, but it is a compiler thing. The<br>> uniqueness type stuff may give Clean a slight benefit, but I'm not<br>> sure how much they use that in their analyses.<br>><br>> Both Clean and GHC do strictness analysis - I don't know which one
<br>> does better, but both do quite well. I think Clean has some<br>> generalised fusion framework, while GHC relies on rules and short-cut<br>> deforestation. GHC goes through C-- to C or ASM, while Clean has been
<br>> generating native code for a lot longer. GHC is based on the STG<br>> machine, while Clean is based on the ABC machine - not sure which is<br>> better, but there are differences there.<br>><br>> My guess is that the native code generator in Clean beats GHC, which
<br>> wouldn't be too surprising as GHC is currently rewriting its CPS and<br>> Register Allocator to produce better native code.<br><br>Yes, this was my analysis too -- its in the native code gen. Which is<br>perhaps the main GHC bottleneck now.
<br><br>-- Don<br>_______________________________________________<br>Haskell-Cafe mailing list<br><a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br><a href="http://www.haskell.org/mailman/listinfo/haskell-cafe">
http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br></blockquote></div><br>