<?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: 6 Line EventMachine Bugfix = 2x faster GC, +1300% requests/sec</title>
	<atom:link href="http://timetobleed.com/6-line-eventmachine-bugfix-2x-faster-gc-1300-requestssec/feed/" rel="self" type="application/rss+xml" />
	<link>http://timetobleed.com/6-line-eventmachine-bugfix-2x-faster-gc-1300-requestssec/</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: Come Diventare Un Buon Progettista di Software &#124; Codeido</title>
		<link>http://timetobleed.com/6-line-eventmachine-bugfix-2x-faster-gc-1300-requestssec/comment-page-1/#comment-855</link>
		<dc:creator>Come Diventare Un Buon Progettista di Software &#124; Codeido</dc:creator>
		<pubDate>Thu, 02 Dec 2010 21:42:38 +0000</pubDate>
		<guid isPermaLink="false">http://timetobleed.com/?p=554#comment-855</guid>
		<description>[...] Durante il pranzo possono accadere cose singolari e interessanti. [...]</description>
		<content:encoded><![CDATA[<p>[...] Durante il pranzo possono accadere cose singolari e interessanti. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anon</title>
		<link>http://timetobleed.com/6-line-eventmachine-bugfix-2x-faster-gc-1300-requestssec/comment-page-1/#comment-451</link>
		<dc:creator>Anon</dc:creator>
		<pubDate>Tue, 20 Oct 2009 14:52:30 +0000</pubDate>
		<guid isPermaLink="false">http://timetobleed.com/?p=554#comment-451</guid>
		<description>This is way over my head. :(</description>
		<content:encoded><![CDATA[<p>This is way over my head. :(</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Compilação de pequenas novidades do mundo Ruby - Maio, Junho e Julho de 2009</title>
		<link>http://timetobleed.com/6-line-eventmachine-bugfix-2x-faster-gc-1300-requestssec/comment-page-1/#comment-399</link>
		<dc:creator>Compilação de pequenas novidades do mundo Ruby - Maio, Junho e Julho de 2009</dc:creator>
		<pubDate>Sun, 09 Aug 2009 00:34:36 +0000</pubDate>
		<guid isPermaLink="false">http://timetobleed.com/?p=554#comment-399</guid>
		<description>[...] Damato tem estado ocupado ultimamente, primeiro fazendo um patch de 6 linhas no EventMachine que gerou resultados impressionantes, depois um patch no configure.in que aumenta a perfomance em 30%, e agora conseguindo um aumento de [...]</description>
		<content:encoded><![CDATA[<p>[...] Damato tem estado ocupado ultimamente, primeiro fazendo um patch de 6 linhas no EventMachine que gerou resultados impressionantes, depois um patch no configure.in que aumenta a perfomance em 30%, e agora conseguindo um aumento de [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: darekjones</title>
		<link>http://timetobleed.com/6-line-eventmachine-bugfix-2x-faster-gc-1300-requestssec/comment-page-1/#comment-376</link>
		<dc:creator>darekjones</dc:creator>
		<pubDate>Fri, 26 Jun 2009 23:18:08 +0000</pubDate>
		<guid isPermaLink="false">http://timetobleed.com/?p=554#comment-376</guid>
		<description>Interesting post. I have stumbled and twittered this for my friends. Hope others find it as interesting as I did.&lt;br&gt;&lt;br&gt;Darek from &lt;a href=&quot;http://www.informationex.com&quot; rel=&quot;nofollow&quot;&gt;classifieds posting service&lt;/a&gt;</description>
		<content:encoded><![CDATA[<p>Interesting post. I have stumbled and twittered this for my friends. Hope others find it as interesting as I did.</p>
<p>Darek from <a href="http://www.informationex.com" rel="nofollow">classifieds posting service</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Interesting Ruby Tidbits That Don’t Need Separate Posts #24 &#124; Webs Developer</title>
		<link>http://timetobleed.com/6-line-eventmachine-bugfix-2x-faster-gc-1300-requestssec/comment-page-1/#comment-367</link>
		<dc:creator>Interesting Ruby Tidbits That Don’t Need Separate Posts #24 &#124; Webs Developer</dc:creator>
		<pubDate>Thu, 21 May 2009 02:37:54 +0000</pubDate>
		<guid isPermaLink="false">http://timetobleed.com/?p=554#comment-367</guid>
		<description>[...] Damato has been on a roll lately, first with a 6 line EventMachine fix that yielded impressive results, then a configure.in fix to give 30% more performance, and now by getting a 2-10x performance boost [...]</description>
		<content:encoded><![CDATA[<p>[...] Damato has been on a roll lately, first with a 6 line EventMachine fix that yielded impressive results, then a configure.in fix to give 30% more performance, and now by getting a 2-10x performance boost [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Interesting Ruby Tidbits That Don’t Need Separate Posts #24</title>
		<link>http://timetobleed.com/6-line-eventmachine-bugfix-2x-faster-gc-1300-requestssec/comment-page-1/#comment-366</link>
		<dc:creator>Interesting Ruby Tidbits That Don’t Need Separate Posts #24</dc:creator>
		<pubDate>Thu, 21 May 2009 01:10:34 +0000</pubDate>
		<guid isPermaLink="false">http://timetobleed.com/?p=554#comment-366</guid>
		<description>[...] Damato has been on a roll lately, first with a 6 line EventMachine fix that yielded impressive results, then a configure.in fix to give 30% more performance, and now by getting a 2-10x performance boost [...]</description>
		<content:encoded><![CDATA[<p>[...] Damato has been on a roll lately, first with a 6 line EventMachine fix that yielded impressive results, then a configure.in fix to give 30% more performance, and now by getting a 2-10x performance boost [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ruby pond</title>
		<link>http://timetobleed.com/6-line-eventmachine-bugfix-2x-faster-gc-1300-requestssec/comment-page-1/#comment-346</link>
		<dc:creator>ruby pond</dc:creator>
		<pubDate>Thu, 14 May 2009 22:20:32 +0000</pubDate>
		<guid isPermaLink="false">http://timetobleed.com/?p=554#comment-346</guid>
		<description>I&#039;m always very impressed when people go to these lengths to track a problem. Very very nice work, and thanks!</description>
		<content:encoded><![CDATA[<p>I&#39;m always very impressed when people go to these lengths to track a problem. Very very nice work, and thanks!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ennuyer.net &#187; Blog Archive &#187; I am way behind on my rails link blogging. Link dump and reboot.</title>
		<link>http://timetobleed.com/6-line-eventmachine-bugfix-2x-faster-gc-1300-requestssec/comment-page-1/#comment-340</link>
		<dc:creator>Ennuyer.net &#187; Blog Archive &#187; I am way behind on my rails link blogging. Link dump and reboot.</dc:creator>
		<pubDate>Sat, 09 May 2009 10:42:41 +0000</pubDate>
		<guid isPermaLink="false">http://timetobleed.com/?p=554#comment-340</guid>
		<description>[...]  6 Line EventMachine Bugfix = 2x faster GC, +1300% requests/sec at time to bleed by Joe Damato  [...]</description>
		<content:encoded><![CDATA[<p>[...]  6 Line EventMachine Bugfix = 2x faster GC, +1300% requests/sec at time to bleed by Joe Damato  [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Radarek</title>
		<link>http://timetobleed.com/6-line-eventmachine-bugfix-2x-faster-gc-1300-requestssec/comment-page-1/#comment-292</link>
		<dc:creator>Radarek</dc:creator>
		<pubDate>Fri, 01 May 2009 19:15:10 +0000</pubDate>
		<guid isPermaLink="false">http://timetobleed.com/?p=554#comment-292</guid>
		<description>Awesome post! I really like such a write-ups!</description>
		<content:encoded><![CDATA[<p>Awesome post! I really like such a write-ups!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: raggi</title>
		<link>http://timetobleed.com/6-line-eventmachine-bugfix-2x-faster-gc-1300-requestssec/comment-page-1/#comment-290</link>
		<dc:creator>raggi</dc:creator>
		<pubDate>Thu, 30 Apr 2009 19:50:24 +0000</pubDate>
		<guid isPermaLink="false">http://timetobleed.com/?p=554#comment-290</guid>
		<description>Just for extreme clarity:&lt;br&gt;&lt;br&gt;This patch affects ruby code running on EventMachine with the epoll reactor.&lt;br&gt;&lt;br&gt;  require &#039;eventmachine&#039;; EM.epoll; EM.run {} # 800k stack on linux on old EM&lt;br&gt;&lt;br&gt;There may be a similar patch coming for the kqueue reactor, but that is less affected (40k vs. 800k).&lt;br&gt;&lt;br&gt;  require &#039;eventmachine&#039;; EM.kqueue; EM.run {} # 40k stack on OSX&lt;br&gt;&lt;br&gt;The issue does not exist in any extreme with the select reactor.&lt;br&gt;&lt;br&gt;  require &#039;eventmachine&#039;; EM.run {}&lt;br&gt;&lt;br&gt;You can see the effects of the issue most drastically when using EventMachines defer method, because it spawns up 20 threads, each of which will carry a heavy stack. &lt;br&gt;&lt;br&gt;I have recently done some research on performance metrics of ruby&#039;s green thread implementation. Whilst there is a much more significant impact to ruby&#039;s performance when the stack size is large, the specific impact of the number of threads does not become noticeable until high numbers of threads (two orders of magnitude and above (100+ threads)). The choice of 20 threads seems sensible, given this research.&lt;br&gt;&lt;br&gt;Each spawned thread carries a copy of the stack, though, so if you spawn threads &#039;later&#039; in your execution stack (like Thin does), then you will see extra performance degradation from these issues. As such the real highlight comes from an app like this:&lt;br&gt;&lt;br&gt;  require &#039;eventmachine&#039;; EM.epoll&lt;br&gt;  require &#039;sinatra&#039;; def (Sinatra::Application).deferred?(env); true; end&lt;br&gt;  get &#039;/&#039; do escape_html Thread.current.inspect end&lt;br&gt;&lt;br&gt;Some of the general impacts of stack size on ruby performance are demonstrated here:&lt;br&gt;&lt;a href=&quot;http://pastie.textmate.org/private/iynyujlrzorq7pcgjtwuta&quot; rel=&quot;nofollow&quot;&gt;http://pastie.textmate.org/private/iynyujlrzorq...&lt;/a&gt;&lt;br&gt;&lt;br&gt;And can be generated like so:&lt;br&gt;&lt;a href=&quot;http://gist.github.com/104213&quot; rel=&quot;nofollow&quot;&gt;http://gist.github.com/104213&lt;/a&gt;&lt;br&gt;&lt;br&gt;Maybe I&#039;ll collaborate or separately post some ruby programmer oriented explanations of these posts soon. :)</description>
		<content:encoded><![CDATA[<p>Just for extreme clarity:</p>
<p>This patch affects ruby code running on EventMachine with the epoll reactor.</p>
<p>  require &#39;eventmachine&#39;; EM.epoll; EM.run {} # 800k stack on linux on old EM</p>
<p>There may be a similar patch coming for the kqueue reactor, but that is less affected (40k vs. 800k).</p>
<p>  require &#39;eventmachine&#39;; EM.kqueue; EM.run {} # 40k stack on OSX</p>
<p>The issue does not exist in any extreme with the select reactor.</p>
<p>  require &#39;eventmachine&#39;; EM.run {}</p>
<p>You can see the effects of the issue most drastically when using EventMachines defer method, because it spawns up 20 threads, each of which will carry a heavy stack. </p>
<p>I have recently done some research on performance metrics of ruby&#39;s green thread implementation. Whilst there is a much more significant impact to ruby&#39;s performance when the stack size is large, the specific impact of the number of threads does not become noticeable until high numbers of threads (two orders of magnitude and above (100+ threads)). The choice of 20 threads seems sensible, given this research.</p>
<p>Each spawned thread carries a copy of the stack, though, so if you spawn threads &#39;later&#39; in your execution stack (like Thin does), then you will see extra performance degradation from these issues. As such the real highlight comes from an app like this:</p>
<p>  require &#39;eventmachine&#39;; EM.epoll<br />  require &#39;sinatra&#39;; def (Sinatra::Application).deferred?(env); true; end<br />  get &#39;/&#39; do escape_html Thread.current.inspect end</p>
<p>Some of the general impacts of stack size on ruby performance are demonstrated here:<br /><a href="http://pastie.textmate.org/private/iynyujlrzorq7pcgjtwuta" rel="nofollow"></a><a href="http://pastie.textmate.org/private/iynyujlrzorq.." rel="nofollow">http://pastie.textmate.org/private/iynyujlrzorq..</a>.</p>
<p>And can be generated like so:<br /><a href="http://gist.github.com/104213" rel="nofollow">http://gist.github.com/104213</a></p>
<p>Maybe I&#39;ll collaborate or separately post some ruby programmer oriented explanations of these posts soon. :)</p>
]]></content:encoded>
	</item>
</channel>
</rss>

