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> &lt;<a href="mailto:dons@galois.com">dons@galois.com</a>&gt; 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>&gt; Hi<br>&gt;<br>&gt; I&#39;ve been working on optimising Haskell for a little while<br>&gt; (<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>&gt; on this.&nbsp;&nbsp;The Clean and Haskell languages both reduce to pretty much<br>&gt; the same Core language, with pretty much the same type system, once<br>&gt; you get down to it - so I don&#39;t think the difference between the
<br>&gt; performance is a language thing, but it is a compiler thing. The<br>&gt; uniqueness type stuff may give Clean a slight benefit, but I&#39;m not<br>&gt; sure how much they use that in their analyses.<br>&gt;<br>&gt; Both Clean and GHC do strictness analysis - I don&#39;t know which one
<br>&gt; does better, but both do quite well. I think Clean has some<br>&gt; generalised fusion framework, while GHC relies on rules and short-cut<br>&gt; deforestation. GHC goes through C-- to C or ASM, while Clean has been
<br>&gt; generating native code for a lot longer. GHC is based on the STG<br>&gt; machine, while Clean is based on the ABC machine - not sure which is<br>&gt; better, but there are differences there.<br>&gt;<br>&gt; My guess is that the native code generator in Clean beats GHC, which
<br>&gt; wouldn&#39;t be too surprising as GHC is currently rewriting its CPS and<br>&gt; 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>