<?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: Fix a bug in Ruby&#8217;s configure.in and get a ~30% performance boost.</title>
	<atom:link href="http://timetobleed.com/fix-a-bug-in-rubys-configurein-and-get-a-30-performance-boost/feed/" rel="self" type="application/rss+xml" />
	<link>http://timetobleed.com/fix-a-bug-in-rubys-configurein-and-get-a-30-performance-boost/</link>
	<description>technical ramblings from a wanna-be unix dinosaur</description>
	<lastBuildDate>Thu, 03 May 2012 05:40:26 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
	<item>
		<title>By: Jeff Blaine</title>
		<link>http://timetobleed.com/fix-a-bug-in-rubys-configurein-and-get-a-30-performance-boost/comment-page-1/#comment-869</link>
		<dc:creator>Jeff Blaine</dc:creator>
		<pubDate>Sat, 05 Mar 2011 02:23:51 +0000</pubDate>
		<guid isPermaLink="false">http://timetobleed.com/?p=615#comment-869</guid>
		<description>This is not fixed in 1.8.7 p330 (latest 187 2 months ago).  Comment 3 of mine: &lt;a href=&quot;http://www.ruby-forum.com/topic/187243&quot; rel=&quot;nofollow&quot;&gt;http://www.ruby-forum.com/topi...&lt;/a&gt;&lt;br&gt;&lt;br&gt;&quot;&quot;&quot;&lt;br&gt;Solaris 10 on SPARC, Ruby 1.8.7 p330, --enable-pthread&lt;br&gt;&lt;br&gt;Ruby application &#039;puppet&#039;&lt;br&gt;&lt;br&gt;&quot;puppet resource user root&quot; issues over 2 million getcontext() calls and &lt;br&gt;takes 25 seconds to complete&lt;br&gt;&lt;br&gt;On a Linux box, same build args, the command takes 1-2 seconds.&lt;br&gt;&quot;&quot;&quot;</description>
		<content:encoded><![CDATA[<p>This is not fixed in 1.8.7 p330 (latest 187 2 months ago).  Comment 3 of mine: <a href="http://www.ruby-forum.com/topic/187243" rel="nofollow"></a><a href="http://www.ruby-forum.com/topi.." rel="nofollow">http://www.ruby-forum.com/topi..</a>.</p>
<p>&#8220;&#8221;"<br />Solaris 10 on SPARC, Ruby 1.8.7 p330, &#8211;enable-pthread</p>
<p>Ruby application &#39;puppet&#39;</p>
<p>&#8220;puppet resource user root&#8221; issues over 2 million getcontext() calls and <br />takes 25 seconds to complete</p>
<p>On a Linux box, same build args, the command takes 1-2 seconds.<br />&#8220;&#8221;"</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: teh lix</title>
		<link>http://timetobleed.com/fix-a-bug-in-rubys-configurein-and-get-a-30-performance-boost/comment-page-1/#comment-861</link>
		<dc:creator>teh lix</dc:creator>
		<pubDate>Wed, 09 Feb 2011 01:01:05 +0000</pubDate>
		<guid isPermaLink="false">http://timetobleed.com/?p=615#comment-861</guid>
		<description>Same story on FreeBSD:&lt;br&gt;&lt;br&gt;3049 ruby18   CALL  _umtx_op(0x8017d1060,0x8,0x1,0x8017d1040,0x7fffe7bfdec0)&lt;br&gt;  3049 ruby18   RET   _umtx_op -1 errno 60 Operation timed out&lt;br&gt;  3049 ruby18   CALL  clock_gettime(0,0x7fffe7bfdf80)&lt;br&gt;  3049 ruby18   RET   clock_gettime 0&lt;br&gt;  3049 ruby18   CALL  clock_gettime(0,0x7fffe7bfded0)&lt;br&gt;  3049 ruby18   RET   clock_gettime 0&lt;br&gt;  3049 ruby18   CALL  _umtx_op(0x8017d1060,0x8,0x1,0x8017d1040,0x7fffe7bfdec0)&lt;br&gt;  3049 ruby18   RET   _umtx_op -1 errno 60 Operation timed out&lt;br&gt;  3049 ruby18   CALL  clock_gettime(0,0x7fffe7bfdf80)&lt;br&gt;  3049 ruby18   RET   clock_gettime 0&lt;br&gt;  3049 ruby18   CALL  clock_gettime(0,0x7fffe7bfded0)&lt;br&gt;  3049 ruby18   RET   clock_gettime 0&lt;br&gt;  3049 ruby18   CALL  _umtx_^Cop(0x8017d1060,0x8,0x1,0x8017d1040,0x7fffe7bfdec0)&lt;br&gt;</description>
		<content:encoded><![CDATA[<p>Same story on FreeBSD:</p>
<p>3049 ruby18   CALL  _umtx_op(0x8017d1060,0&#215;8,0&#215;1,0x8017d1040,0x7fffe7bfdec0)<br />  3049 ruby18   RET   _umtx_op -1 errno 60 Operation timed out<br />  3049 ruby18   CALL  clock_gettime(0,0x7fffe7bfdf80)<br />  3049 ruby18   RET   clock_gettime 0<br />  3049 ruby18   CALL  clock_gettime(0,0x7fffe7bfded0)<br />  3049 ruby18   RET   clock_gettime 0<br />  3049 ruby18   CALL  _umtx_op(0x8017d1060,0&#215;8,0&#215;1,0x8017d1040,0x7fffe7bfdec0)<br />  3049 ruby18   RET   _umtx_op -1 errno 60 Operation timed out<br />  3049 ruby18   CALL  clock_gettime(0,0x7fffe7bfdf80)<br />  3049 ruby18   RET   clock_gettime 0<br />  3049 ruby18   CALL  clock_gettime(0,0x7fffe7bfded0)<br />  3049 ruby18   RET   clock_gettime 0<br />  3049 ruby18   CALL  _umtx_^Cop(0x8017d1060,0&#215;8,0&#215;1,0x8017d1040,0x7fffe7bfdec0)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Unix signal programming in Ruby &#171; Spakman loves triangles</title>
		<link>http://timetobleed.com/fix-a-bug-in-rubys-configurein-and-get-a-30-performance-boost/comment-page-1/#comment-568</link>
		<dc:creator>Unix signal programming in Ruby &#171; Spakman loves triangles</dc:creator>
		<pubDate>Tue, 27 Apr 2010 11:16:38 +0000</pubDate>
		<guid isPermaLink="false">http://timetobleed.com/?p=615#comment-568</guid>
		<description>[...] Joe Damato found, MRI 1.8 with pthreads enabled is rather rt_sigprocmask() happy. It seemed obvious that all that [...]</description>
		<content:encoded><![CDATA[<p>[...] Joe Damato found, MRI 1.8 with pthreads enabled is rather rt_sigprocmask() happy. It seemed obvious that all that [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: lazzarello</title>
		<link>http://timetobleed.com/fix-a-bug-in-rubys-configurein-and-get-a-30-performance-boost/comment-page-1/#comment-567</link>
		<dc:creator>lazzarello</dc:creator>
		<pubDate>Sat, 24 Apr 2010 01:58:35 +0000</pubDate>
		<guid isPermaLink="false">http://timetobleed.com/?p=615#comment-567</guid>
		<description>Heya. I applied your patch to ruby 1.8.7 (2008-08-11 patchlevel 72) [x86_64-linux] in Debian stable and rebuilt the package. It does not remove the dominance of the rt_sigprocmask syscall in your test script. I ran the script for 24 seconds and it called that syscall 416614 times.</description>
		<content:encoded><![CDATA[<p>Heya. I applied your patch to ruby 1.8.7 (2008-08-11 patchlevel 72) [x86_64-linux] in Debian stable and rebuilt the package. It does not remove the dominance of the rt_sigprocmask syscall in your test script. I ran the script for 24 seconds and it called that syscall 416614 times.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: cryptoromantic</title>
		<link>http://timetobleed.com/fix-a-bug-in-rubys-configurein-and-get-a-30-performance-boost/comment-page-1/#comment-537</link>
		<dc:creator>cryptoromantic</dc:creator>
		<pubDate>Thu, 25 Feb 2010 10:04:16 +0000</pubDate>
		<guid isPermaLink="false">http://timetobleed.com/?p=615#comment-537</guid>
		<description>so what is the underlying bug here - that get/setcontext is completely unnecessary because green threads are being used even with pthreads enabled, or that some work get/setcontext is doing is necessary, but it also always calls sigprocmasks (which is unnecessary), and this calls for a better decomposition of the get/setcontext call... ?</description>
		<content:encoded><![CDATA[<p>so what is the underlying bug here &#8211; that get/setcontext is completely unnecessary because green threads are being used even with pthreads enabled, or that some work get/setcontext is doing is necessary, but it also always calls sigprocmasks (which is unnecessary), and this calls for a better decomposition of the get/setcontext call&#8230; ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Seth Thomas Rasmussen</title>
		<link>http://timetobleed.com/fix-a-bug-in-rubys-configurein-and-get-a-30-performance-boost/comment-page-1/#comment-519</link>
		<dc:creator>Seth Thomas Rasmussen</dc:creator>
		<pubDate>Tue, 02 Feb 2010 01:22:34 +0000</pubDate>
		<guid isPermaLink="false">http://timetobleed.com/?p=615#comment-519</guid>
		<description>Great work! I&#039;ve been investigating these issues around --enable-pthread recently as I *just* became aware of their significance.. and I&#039;m surprised, frankly.. there seem to be a lot of people that knew this, yet a lot of people who still don&#039;t and who still run into tutorials like the popular Hivelogic one which recommends you use --enable-pthread.</description>
		<content:encoded><![CDATA[<p>Great work! I&#39;ve been investigating these issues around &#8211;enable-pthread recently as I *just* became aware of their significance.. and I&#39;m surprised, frankly.. there seem to be a lot of people that knew this, yet a lot of people who still don&#39;t and who still run into tutorials like the popular Hivelogic one which recommends you use &#8211;enable-pthread.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: staffing1</title>
		<link>http://timetobleed.com/fix-a-bug-in-rubys-configurein-and-get-a-30-performance-boost/comment-page-1/#comment-514</link>
		<dc:creator>staffing1</dc:creator>
		<pubDate>Thu, 10 Dec 2009 00:30:41 +0000</pubDate>
		<guid isPermaLink="false">http://timetobleed.com/?p=615#comment-514</guid>
		<description>Brilliant work! I hope the guys upstream patch it in.&lt;br&gt;&lt;a href=&quot;http://www.staffingpower.com&quot; rel=&quot;nofollow&quot;&gt;www.staffingpower.com&lt;/a&gt;</description>
		<content:encoded><![CDATA[<p>Brilliant work! I hope the guys upstream patch it in.<br /><a href="http://www.staffingpower.com" rel="nofollow">http://www.staffingpower.com</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: staffing1</title>
		<link>http://timetobleed.com/fix-a-bug-in-rubys-configurein-and-get-a-30-performance-boost/comment-page-1/#comment-468</link>
		<dc:creator>staffing1</dc:creator>
		<pubDate>Wed, 09 Dec 2009 16:30:41 +0000</pubDate>
		<guid isPermaLink="false">http://timetobleed.com/?p=615#comment-468</guid>
		<description>Brilliant work! I hope the guys upstream patch it in.&lt;br&gt;&lt;a href=&quot;http://www.staffingpower.com&quot; rel=&quot;nofollow&quot;&gt;www.staffingpower.com&lt;/a&gt;</description>
		<content:encoded><![CDATA[<p>Brilliant work! I hope the guys upstream patch it in.<br /><a href="http://www.staffingpower.com" rel="nofollow">http://www.staffingpower.com</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: nigelkersten</title>
		<link>http://timetobleed.com/fix-a-bug-in-rubys-configurein-and-get-a-30-performance-boost/comment-page-1/#comment-454</link>
		<dc:creator>nigelkersten</dc:creator>
		<pubDate>Thu, 05 Nov 2009 15:41:57 +0000</pubDate>
		<guid isPermaLink="false">http://timetobleed.com/?p=615#comment-454</guid>
		<description>According to Matz, this isn&#039;t a problem for Ruby 1.8.7&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/23583&quot; rel=&quot;nofollow&quot;&gt;http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ru...&lt;/a&gt;&lt;br&gt;&lt;br&gt;yet I&#039;m still seeing performance improvements on the ruby benchmark suite when applying your patch...</description>
		<content:encoded><![CDATA[<p>According to Matz, this isn&#39;t a problem for Ruby 1.8.7</p>
<p><a href="http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/23583" rel="nofollow"></a><a href="http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ru.." rel="nofollow">http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ru..</a>.</p>
<p>yet I&#39;m still seeing performance improvements on the ruby benchmark suite when applying your patch&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: redditrebel</title>
		<link>http://timetobleed.com/fix-a-bug-in-rubys-configurein-and-get-a-30-performance-boost/comment-page-1/#comment-414</link>
		<dc:creator>redditrebel</dc:creator>
		<pubDate>Thu, 08 Oct 2009 20:59:44 +0000</pubDate>
		<guid isPermaLink="false">http://timetobleed.com/?p=615#comment-414</guid>
		<description>XBMC and Boxee(based on XBMC) suffer from this on newer 64 bit kernels, calling rt_sigprocmask a bazillion times per second and basically eating a whole CPU.&lt;br&gt;&lt;br&gt;I stopped trying to debug it as the developers were truculent about even supporting newer 64 bit installs, ever.&lt;br&gt;&lt;br&gt;I wouldn&#039;t be surprised if this is the cause.</description>
		<content:encoded><![CDATA[<p>XBMC and Boxee(based on XBMC) suffer from this on newer 64 bit kernels, calling rt_sigprocmask a bazillion times per second and basically eating a whole CPU.</p>
<p>I stopped trying to debug it as the developers were truculent about even supporting newer 64 bit installs, ever.</p>
<p>I wouldn&#39;t be surprised if this is the cause.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

