<br><br><div class="gmail_quote">On Fri, Feb 20, 2009 at 10:33 PM, Bulat Ziganshin <span dir="ltr">&lt;<a href="mailto:bulat.ziganshin@gmail.com">bulat.ziganshin@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Hello Achim,<br>
<div class="Ih2E3d"><br>
Saturday, February 21, 2009, 1:17:08 AM, you wrote:<br>
<br>
&gt;&gt; nothing new: what you are not interested in real compilers comparison,<br>
&gt;&gt; preferring to demonstrate artificial results<br>
&gt;&gt;<br>
&gt; ...that we have a path to get better results than gcc -O3<br>
&gt; -funroll-loops, and it&#39;s within reach... we even can get there now,<br>
&gt; albeit not in the most hack-free way imaginable?<br>
<br>
</div>well, can this be made for C++? yes. moreover, gcc does this trick<br>
*automatically*, while with ghc we need to write 50-line program using<br>
Template Haskell and then run it through gcc - and finally get exactly<br>
the same optimization we got automatic for C code&nbsp;</blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><br>
<br>
so, again: this confirms that Don is always build artificial<br>
comparisons, optimizing Haskell code by hand and ignoring obvious ways<br>
to optimize Haskell code. unfortunately, this doesn&#39;t work in real<br>
live. and even worse - Don reports this as fair Haskell vs C++<br>
comparison<br>
<div class="Ih2E3d"></div></blockquote><div><br></div><div><br></div><div>Bulat, please, you&#39;re missing the point. Nobody is saying that the template-haskell trick was somehow a viable general strategy right now that everyone should use by default. It was used as a proof-of-concept that a simple technique can lead to massive performance improvements - and we get numbers for how massive it would be (beating gcc for this benchmark).</div>
<div>This isn&#39;t about &quot;faking&quot; a benchmark, it&#39;s about investigating the reasons for why the benchmark looks they way it does, doing testing to verify the assumptions (in this case using TH), and making constructive suggestions (add loop-unrolling to the compiler). This investigation tells us that in this case a compiler could beat gcc, if only it were to do loop unrolling in the way the TH code does. That&#39;s a result!</div>
<div><br></div><div>I would ask you to note the simple fact that every single constructive message in this thread has come from people other than you. I hope this leads you reconsider your tone and general approach in the future. Haskell people in general are always pretty good at accepting criticism IME (they tend to want to fix the problem), don&#39;t you think it&#39;s odd that it&#39;s only *your* criticism that gets so much flak? Maybe some part of the reason almost every discussion you&#39;re in here usually ends up hostile is *your* approach?</div>
<div><br></div></div>Regards,<br>-- <br>Sebastian Sylvan<br>+44(0)7857-300802<br>UIN: 44640862<br>