<?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/"
		>
<channel>
	<title>Comments on: GCC optimization flag makes your 64bit binary fatter and slower</title>
	<atom:link href="http://timetobleed.com/gcc-optimization-flag-makes-your-64bit-binary-fatter-and-slower/feed/" rel="self" type="application/rss+xml" />
	<link>http://timetobleed.com/gcc-optimization-flag-makes-your-64bit-binary-fatter-and-slower/</link>
	<description>technical ramblings from a wanna-be unix dinosaur</description>
	<lastBuildDate>Thu, 05 Jan 2012 16:28:11 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
	<item>
		<title>By: Geoff Langdale</title>
		<link>http://timetobleed.com/gcc-optimization-flag-makes-your-64bit-binary-fatter-and-slower/comment-page-1/#comment-870</link>
		<dc:creator>Geoff Langdale</dc:creator>
		<pubDate>Tue, 22 Mar 2011 08:11:59 +0000</pubDate>
		<guid isPermaLink="false">http://timetobleed.com/?p=1909#comment-870</guid>
		<description>This may be science, but it&#039;s not measuring what you think it&#039;s measuring, and it&#039;s probably not measuring anything useful. &lt;br&gt;&lt;br&gt;There&#039;s nothing _in_ test1 or test2, so you&#039;re measuring nothing useful about whether -fomit-frame-pointer is a good idea in practice or not. There&#039;s so little going on that this is likely to be a test of the Core 2 architecture&#039;s ability to forward stores and schedule long mispredict-free chains useless instructions rather than what you think it is. For example, while &#039;test2&#039; is obviously bigger than &#039;test1&#039;, most functions that do meaningful work typically have to do the sub/add adjustment of the stack pointer already.&lt;br&gt;&lt;br&gt;Neither the caller nor the callee do ANY meaningful work, so you&#039;re just executing a long chain of pointless instructions. It is well known that some chains of pointless instructions run faster than others.&lt;br&gt;&lt;br&gt;This is the big problem with the benchmark; all of the items you list in your colorful &#039;why my benchmark is bullshit&#039; are third-order at best. It is deceptive to puff up a meaningless benchmark with &#039;rigor&#039; like running on the bare metal and disabling IRQs; these heroics are completely unnecessary for evaluating user-space performance changes. It would have made a whole lot more sense to grab a bunch of CPU intensive programs and to measure them with and without the flag, for example.</description>
		<content:encoded><![CDATA[<p>This may be science, but it&#39;s not measuring what you think it&#39;s measuring, and it&#39;s probably not measuring anything useful. </p>
<p>There&#39;s nothing _in_ test1 or test2, so you&#39;re measuring nothing useful about whether -fomit-frame-pointer is a good idea in practice or not. There&#39;s so little going on that this is likely to be a test of the Core 2 architecture&#39;s ability to forward stores and schedule long mispredict-free chains useless instructions rather than what you think it is. For example, while &#39;test2&#39; is obviously bigger than &#39;test1&#39;, most functions that do meaningful work typically have to do the sub/add adjustment of the stack pointer already.</p>
<p>Neither the caller nor the callee do ANY meaningful work, so you&#39;re just executing a long chain of pointless instructions. It is well known that some chains of pointless instructions run faster than others.</p>
<p>This is the big problem with the benchmark; all of the items you list in your colorful &#39;why my benchmark is bullshit&#39; are third-order at best. It is deceptive to puff up a meaningless benchmark with &#39;rigor&#39; like running on the bare metal and disabling IRQs; these heroics are completely unnecessary for evaluating user-space performance changes. It would have made a whole lot more sense to grab a bunch of CPU intensive programs and to measure them with and without the flag, for example.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tony</title>
		<link>http://timetobleed.com/gcc-optimization-flag-makes-your-64bit-binary-fatter-and-slower/comment-page-1/#comment-859</link>
		<dc:creator>Tony</dc:creator>
		<pubDate>Fri, 07 Jan 2011 10:04:26 +0000</pubDate>
		<guid isPermaLink="false">http://timetobleed.com/?p=1909#comment-859</guid>
		<description>The original bug description doesn&#039;t seem to mention the problem with omit-frame-pointer explicitly.  Have you created a new bug in the GCC bug database, with all the above details?&lt;br&gt;</description>
		<content:encoded><![CDATA[<p>The original bug description doesn&#39;t seem to mention the problem with omit-frame-pointer explicitly.  Have you created a new bug in the GCC bug database, with all the above details?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Aaaa</title>
		<link>http://timetobleed.com/gcc-optimization-flag-makes-your-64bit-binary-fatter-and-slower/comment-page-1/#comment-848</link>
		<dc:creator>Aaaa</dc:creator>
		<pubDate>Fri, 15 Oct 2010 15:58:38 +0000</pubDate>
		<guid isPermaLink="false">http://timetobleed.com/?p=1909#comment-848</guid>
		<description>what cpu do you use for becnh?</description>
		<content:encoded><![CDATA[<p>what cpu do you use for becnh?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Killthepresidentofargentina</title>
		<link>http://timetobleed.com/gcc-optimization-flag-makes-your-64bit-binary-fatter-and-slower/comment-page-1/#comment-796</link>
		<dc:creator>Killthepresidentofargentina</dc:creator>
		<pubDate>Sat, 14 Aug 2010 11:22:39 +0000</pubDate>
		<guid isPermaLink="false">http://timetobleed.com/?p=1909#comment-796</guid>
		<description>&lt;a href=&quot;http://www.google.com/search?hl=en&amp;q=giant+water+bug&amp;cts=1281766916013&amp;aq=f&amp;aqi=g-c10&amp;aql=&amp;oq=&amp;gs_rfai=&quot; rel=&quot;nofollow&quot;&gt;http://www.google.com/search?hl=en&amp;q=giant+wate...&lt;/a&gt;</description>
		<content:encoded><![CDATA[<p><a href="http://www.google.com/search?hl=en&#038;q=giant+water+bug&#038;cts=1281766916013&#038;aq=f&#038;aqi=g-c10&#038;aql=&#038;oq=&#038;gs_rfai=" rel="nofollow"></a><a href="http://www.google.com/search?hl=en&#038;q=giant+wate.." rel="nofollow">http://www.google.com/search?hl=en&#038;q=giant+wate..</a>.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Trypophobe</title>
		<link>http://timetobleed.com/gcc-optimization-flag-makes-your-64bit-binary-fatter-and-slower/comment-page-1/#comment-795</link>
		<dc:creator>Trypophobe</dc:creator>
		<pubDate>Fri, 13 Aug 2010 22:50:13 +0000</pubDate>
		<guid isPermaLink="false">http://timetobleed.com/?p=1909#comment-795</guid>
		<description>Dear God, please explain that picture.</description>
		<content:encoded><![CDATA[<p>Dear God, please explain that picture.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joe Damato (ice799)</title>
		<link>http://timetobleed.com/gcc-optimization-flag-makes-your-64bit-binary-fatter-and-slower/comment-page-1/#comment-785</link>
		<dc:creator>Joe Damato (ice799)</dc:creator>
		<pubDate>Wed, 21 Jul 2010 07:31:26 +0000</pubDate>
		<guid isPermaLink="false">http://timetobleed.com/?p=1909#comment-785</guid>
		<description>i did pin the process to one cpu by calling sched_setaffinity(2) (which is what taskset does). see my testing harness codez.&lt;br&gt;&lt;br&gt;i cant use isolcpus (nor could i pin init to cpu 0, and have everything then be pinned to cpu 0) because i can&#039;t reboot that box. i am &#039;borrowing&#039; a system that has other shit running on it and none of those things can be turned off or stopped for me to do a reboot.&lt;br&gt;&lt;br&gt;as i said above, the testing environment was non-ideal but its all i got. i tried to compensate for this by taking a lot of samples.</description>
		<content:encoded><![CDATA[<p>i did pin the process to one cpu by calling sched_setaffinity(2) (which is what taskset does). see my testing harness codez.</p>
<p>i cant use isolcpus (nor could i pin init to cpu 0, and have everything then be pinned to cpu 0) because i can&#39;t reboot that box. i am &#39;borrowing&#39; a system that has other shit running on it and none of those things can be turned off or stopped for me to do a reboot.</p>
<p>as i said above, the testing environment was non-ideal but its all i got. i tried to compensate for this by taking a lot of samples.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Wade Mealing</title>
		<link>http://timetobleed.com/gcc-optimization-flag-makes-your-64bit-binary-fatter-and-slower/comment-page-1/#comment-784</link>
		<dc:creator>Wade Mealing</dc:creator>
		<pubDate>Wed, 21 Jul 2010 07:26:14 +0000</pubDate>
		<guid isPermaLink="false">http://timetobleed.com/?p=1909#comment-784</guid>
		<description>I assume you know about isolcpus kernel parameter and the userspace taskset command, was there any reason you didn&#039;t use them ?</description>
		<content:encoded><![CDATA[<p>I assume you know about isolcpus kernel parameter and the userspace taskset command, was there any reason you didn&#39;t use them ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Fijal</title>
		<link>http://timetobleed.com/gcc-optimization-flag-makes-your-64bit-binary-fatter-and-slower/comment-page-1/#comment-783</link>
		<dc:creator>Fijal</dc:creator>
		<pubDate>Tue, 20 Jul 2010 20:23:35 +0000</pubDate>
		<guid isPermaLink="false">http://timetobleed.com/?p=1909#comment-783</guid>
		<description>you can keep cpu frequency in hand by using whatever tools your system have to pin it (cpufreq-set on linux)</description>
		<content:encoded><![CDATA[<p>you can keep cpu frequency in hand by using whatever tools your system have to pin it (cpufreq-set on linux)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: locks</title>
		<link>http://timetobleed.com/gcc-optimization-flag-makes-your-64bit-binary-fatter-and-slower/comment-page-1/#comment-782</link>
		<dc:creator>locks</dc:creator>
		<pubDate>Tue, 20 Jul 2010 19:25:15 +0000</pubDate>
		<guid isPermaLink="false">http://timetobleed.com/?p=1909#comment-782</guid>
		<description>Sorry... what&#039;s in that pic?</description>
		<content:encoded><![CDATA[<p>Sorry&#8230; what&#39;s in that pic?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Arturoman</title>
		<link>http://timetobleed.com/gcc-optimization-flag-makes-your-64bit-binary-fatter-and-slower/comment-page-1/#comment-779</link>
		<dc:creator>Arturoman</dc:creator>
		<pubDate>Tue, 20 Jul 2010 18:33:33 +0000</pubDate>
		<guid isPermaLink="false">http://timetobleed.com/?p=1909#comment-779</guid>
		<description>What color scheme are you using for your code snippets?</description>
		<content:encoded><![CDATA[<p>What color scheme are you using for your code snippets?</p>
]]></content:encoded>
	</item>
</channel>
</rss>

