<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
	>
<channel>
	<title>Comments on: Supero Followup</title>
	<atom:link href="http://enfranchisedmind.com/blog/posts/supero-followup/feed/" rel="self" type="application/rss+xml" />
	<link>http://enfranchisedmind.com/blog/posts/supero-followup/</link>
	<description>programming, politics, &#38; other religious issues</description>
	<lastBuildDate>Mon, 15 Mar 2010 00:31:40 +0000</lastBuildDate>
	
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: bhurt</title>
		<link>http://enfranchisedmind.com/blog/posts/supero-followup/#comment-32052</link>
		<dc:creator>bhurt</dc:creator>
		<pubDate>Thu, 13 Dec 2007 22:25:51 +0000</pubDate>
		<guid isPermaLink="false">http://enfranchisedmind.com/blog/2007/12/12/supero-followup/#comment-32052</guid>
		<description>An interesting set of slides on Proebstring&#039;s law and the future of optimization research &lt;a HREF=&quot;http://www.cs.umd.edu/class/spring2006/cmsc430/lec18.4p.pdf&quot; rel=&quot;nofollow&quot;&gt;is here&lt;/A&gt;.

His conclusion there is, I think, fundamentally pessimistic- basically that we&#039;ve hit the point of diminishing returns (at least for popular languages like C++, Fortran, and Java), and that the future of compiler optimizations is going to focus on a small segment of special users- High Performance Computing- and leave everyone else out to dry.

Which is yet another interesting aspect of Supero- he&#039;s not focusing on &quot;high dollar value&quot; customers.  I mean, his basic benchmark is word count.  That&#039;s about as plebian as it gets.</description>
		<content:encoded><![CDATA[<p>An interesting set of slides on Proebstring&#8217;s law and the future of optimization research <a HREF="http://www.cs.umd.edu/class/spring2006/cmsc430/lec18.4p.pdf" rel="nofollow">is here</a>.</p>
<p>His conclusion there is, I think, fundamentally pessimistic- basically that we&#8217;ve hit the point of diminishing returns (at least for popular languages like C++, Fortran, and Java), and that the future of compiler optimizations is going to focus on a small segment of special users- High Performance Computing- and leave everyone else out to dry.</p>
<p>Which is yet another interesting aspect of Supero- he&#8217;s not focusing on &#8220;high dollar value&#8221; customers.  I mean, his basic benchmark is word count.  That&#8217;s about as plebian as it gets.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: bhurt</title>
		<link>http://enfranchisedmind.com/blog/posts/supero-followup/#comment-32051</link>
		<dc:creator>bhurt</dc:creator>
		<pubDate>Thu, 13 Dec 2007 22:18:44 +0000</pubDate>
		<guid isPermaLink="false">http://enfranchisedmind.com/blog/2007/12/12/supero-followup/#comment-32051</guid>
		<description>No.  Ocaml actually isn&#039;t that good at optimization.  I mean, it does the simple things- peephole optimization, inlining, a few others- and it has an excellent garbage collector (even for ML languages), and as a language it allows you to write non-stupid code.  But compare even to GCC 2.94, it&#039;s doesn&#039;t optimize that much (let alone comparing it to GCC 4).  Also, it helps that modern CPUs are surprisingly good at &quot;optimizing&quot; less than optimal code.

The dirty little secret of the &quot;popular&quot; languages are that optimization doesn&#039;t help you much.  Something I forgot to mention is Proebstring&#039;s Law: that increases in compiler optimization double program speed every 18 &lt;EM&gt;years&lt;/EM&gt;.  That&#039;s compared to the common misquoting of Moore&#039;s law that has CPU speed doubling every 18 &lt;EM&gt;months&lt;/EM&gt;.  

And I think Proebstring&#039;s law misrepresents the situation, to the benefit of making the optimization improvements look better that they really are.  The justification for Proebstring&#039;s law is that after 36 years of progress, programs are about 4x faster.  But the vast bulk of that improvement was the low hanging fruit- a small selection of &quot;simple&quot; optimizations- peephole optimizers, register allocation, strength reduction, inlining- gives an easy 2x speed improvement, and were well known 36 years ago (1971).  Which means over the last 36 years, compilers have only doubled the performance of programs- or about a 2% gain per year.

Parenthetically, this is why Ocaml can still be &quot;speedy&quot; and not have complicated, expensive optimizations- the complicated, expensive optimizations simply don&#039;t buy you that much.  It does the simple optimizations which net a lot of performance gain for (comparatively) little pain, but doesn&#039;t bother with the optimizations which are lots of pain for little gain.

Then wham- out of left field comes a grad student and an optimization speeding code up by 10% to &lt;EM&gt;three fold&lt;/EM&gt;.  That&#039;s like 5 years to 55 years worth of compiler optimization development at current rates, all at one shot.  And he&#039;s not done- there are probably (almost certainly) improvements to that to be made.</description>
		<content:encoded><![CDATA[<p>No.  Ocaml actually isn&#8217;t that good at optimization.  I mean, it does the simple things- peephole optimization, inlining, a few others- and it has an excellent garbage collector (even for ML languages), and as a language it allows you to write non-stupid code.  But compare even to GCC 2.94, it&#8217;s doesn&#8217;t optimize that much (let alone comparing it to GCC 4).  Also, it helps that modern CPUs are surprisingly good at &#8220;optimizing&#8221; less than optimal code.</p>
<p>The dirty little secret of the &#8220;popular&#8221; languages are that optimization doesn&#8217;t help you much.  Something I forgot to mention is Proebstring&#8217;s Law: that increases in compiler optimization double program speed every 18 <em>years</em>.  That&#8217;s compared to the common misquoting of Moore&#8217;s law that has CPU speed doubling every 18 <em>months</em>.  </p>
<p>And I think Proebstring&#8217;s law misrepresents the situation, to the benefit of making the optimization improvements look better that they really are.  The justification for Proebstring&#8217;s law is that after 36 years of progress, programs are about 4x faster.  But the vast bulk of that improvement was the low hanging fruit- a small selection of &#8220;simple&#8221; optimizations- peephole optimizers, register allocation, strength reduction, inlining- gives an easy 2x speed improvement, and were well known 36 years ago (1971).  Which means over the last 36 years, compilers have only doubled the performance of programs- or about a 2% gain per year.</p>
<p>Parenthetically, this is why Ocaml can still be &#8220;speedy&#8221; and not have complicated, expensive optimizations- the complicated, expensive optimizations simply don&#8217;t buy you that much.  It does the simple optimizations which net a lot of performance gain for (comparatively) little pain, but doesn&#8217;t bother with the optimizations which are lots of pain for little gain.</p>
<p>Then wham- out of left field comes a grad student and an optimization speeding code up by 10% to <em>three fold</em>.  That&#8217;s like 5 years to 55 years worth of compiler optimization development at current rates, all at one shot.  And he&#8217;s not done- there are probably (almost certainly) improvements to that to be made.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robert Fischer</title>
		<link>http://enfranchisedmind.com/blog/posts/supero-followup/#comment-32023</link>
		<dc:creator>Robert Fischer</dc:creator>
		<pubDate>Wed, 12 Dec 2007 23:09:38 +0000</pubDate>
		<guid isPermaLink="false">http://enfranchisedmind.com/blog/2007/12/12/supero-followup/#comment-32023</guid>
		<description>Your mark-up is broke.

This is pretty cool that it&#039;s being applied so widely, but I kinda expected this out of functional languages.  So much is known at compile-time that I&#039;d expect huge gains -- in fact, I guess I was implicitly thinking that this was happening in OCaml, which is part of the reason it&#039;s so speedy.</description>
		<content:encoded><![CDATA[<p>Your mark-up is broke.</p>
<p>This is pretty cool that it&#8217;s being applied so widely, but I kinda expected this out of functional languages.  So much is known at compile-time that I&#8217;d expect huge gains &#8212; in fact, I guess I was implicitly thinking that this was happening in OCaml, which is part of the reason it&#8217;s so speedy.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
