<?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: Concurrency is a Myth in Ruby</title>
	<atom:link href="http://www.igvita.com/2008/11/13/concurrency-is-a-myth-in-ruby/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.igvita.com/2008/11/13/concurrency-is-a-myth-in-ruby/</link>
	<description>A goal is a dream with a deadline.</description>
	<pubDate>Sun, 05 Jul 2009 03:56:26 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Ilya Grigorik</title>
		<link>http://www.igvita.com/2008/11/13/concurrency-is-a-myth-in-ruby/comment-page-1/#comment-201739</link>
		<dc:creator>Ilya Grigorik</dc:creator>
		<pubDate>Wed, 01 Jul 2009 02:30:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.igvita.com/?p=198#comment-201739</guid>
		<description>Corbin, Rails has become 'thread-safe' as of 2.3 release. There are still a few nasty locks in the router and a few other places, but there is a lot of progress in that area.

In terms servers, Phusion Passenger is a good option to explore - no need to worry about number of workers, etc.</description>
		<content:encoded><![CDATA[<p>Corbin, Rails has become &#8216;thread-safe&#8217; as of 2.3 release. There are still a few nasty locks in the router and a few other places, but there is a lot of progress in that area.</p>
<p>In terms servers, Phusion Passenger is a good option to explore - no need to worry about number of workers, etc.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: corbin</title>
		<link>http://www.igvita.com/2008/11/13/concurrency-is-a-myth-in-ruby/comment-page-1/#comment-201623</link>
		<dc:creator>corbin</dc:creator>
		<pubDate>Tue, 30 Jun 2009 14:41:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.igvita.com/?p=198#comment-201623</guid>
		<description>Thanks IIyan...very informative.   I was under the impression that Rails wasn't thread-safe so it blocked on every request. 
It just seems like the "other" camps have a much better server story than Ruby. 

I'd like to learn more thanks for sharing your knowledge.  Very nice article/diagrams.</description>
		<content:encoded><![CDATA[<p>Thanks IIyan&#8230;very informative.   I was under the impression that Rails wasn&#8217;t thread-safe so it blocked on every request.<br />
It just seems like the &#8220;other&#8221; camps have a much better server story than Ruby. </p>
<p>I&#8217;d like to learn more thanks for sharing your knowledge.  Very nice article/diagrams.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ilya Grigorik</title>
		<link>http://www.igvita.com/2008/11/13/concurrency-is-a-myth-in-ruby/comment-page-1/#comment-201601</link>
		<dc:creator>Ilya Grigorik</dc:creator>
		<pubDate>Tue, 30 Jun 2009 13:06:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.igvita.com/?p=198#comment-201601</guid>
		<description>Yes! In fact, Twitter guys oversubscribe each core by running 2x Mongrels on each core. Check out their presentation at Velocity '09 (google for it).</description>
		<content:encoded><![CDATA[<p>Yes! In fact, Twitter guys oversubscribe each core by running 2x Mongrels on each core. Check out their presentation at Velocity &#8216;09 (google for it).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: sbwoodside</title>
		<link>http://www.igvita.com/2008/11/13/concurrency-is-a-myth-in-ruby/comment-page-1/#comment-201514</link>
		<dc:creator>sbwoodside</dc:creator>
		<pubDate>Tue, 30 Jun 2009 06:49:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.igvita.com/?p=198#comment-201514</guid>
		<description>That would seem to imply that I should really be running four mongrels on my quad-core system, then?</description>
		<content:encoded><![CDATA[<p>That would seem to imply that I should really be running four mongrels on my quad-core system, then?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ilya Grigorik</title>
		<link>http://www.igvita.com/2008/11/13/concurrency-is-a-myth-in-ruby/comment-page-1/#comment-201507</link>
		<dc:creator>Ilya Grigorik</dc:creator>
		<pubDate>Tue, 30 Jun 2009 06:15:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.igvita.com/?p=198#comment-201507</guid>
		<description>Corbin, almost but not quiet. This really depends on a number of external factors. For example, by default Mongrel is a threaded web-server, which means that every new request is spun out into a separate thread. Beyond that, the VM takes over. If one of the requests blocks without locking the VM, then another thread will run in it's place - giving you interleaved execution. Having said that, if the request blocks the VM then the world is suspended until it returns (ex: poorly implemented gems). 

Why should you run multiple mongrels? One to guard against the case I describe above. Two, to take advantage of multi-core CPU's!</description>
		<content:encoded><![CDATA[<p>Corbin, almost but not quiet. This really depends on a number of external factors. For example, by default Mongrel is a threaded web-server, which means that every new request is spun out into a separate thread. Beyond that, the VM takes over. If one of the requests blocks without locking the VM, then another thread will run in it&#8217;s place - giving you interleaved execution. Having said that, if the request blocks the VM then the world is suspended until it returns (ex: poorly implemented gems). </p>
<p>Why should you run multiple mongrels? One to guard against the case I describe above. Two, to take advantage of multi-core CPU&#8217;s!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: corbin</title>
		<link>http://www.igvita.com/2008/11/13/concurrency-is-a-myth-in-ruby/comment-page-1/#comment-201386</link>
		<dc:creator>corbin</dc:creator>
		<pubDate>Mon, 29 Jun 2009 20:39:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.igvita.com/?p=198#comment-201386</guid>
		<description>So if I understand correctly mongrels aren't going to be able to serve multiple requests per process anytime soon?  It's kind of a killer to have to start 4 mongrels just to serve 4 simultaneous web requests.  Processes are great but if we can't share any of the libraries and code like Rails each process becomes pretty hefty!</description>
		<content:encoded><![CDATA[<p>So if I understand correctly mongrels aren&#8217;t going to be able to serve multiple requests per process anytime soon?  It&#8217;s kind of a killer to have to start 4 mongrels just to serve 4 simultaneous web requests.  Processes are great but if we can&#8217;t share any of the libraries and code like Rails each process becomes pretty hefty!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: MySchizoBuddy</title>
		<link>http://www.igvita.com/2008/11/13/concurrency-is-a-myth-in-ruby/comment-page-1/#comment-199703</link>
		<dc:creator>MySchizoBuddy</dc:creator>
		<pubDate>Thu, 18 Jun 2009 07:52:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.igvita.com/?p=198#comment-199703</guid>
		<description>@roger
MacRuby 0.5 is to completely replace YARV with LLVM
http://macruby.com/blog/2009/03/28/experimental-branch.html</description>
		<content:encoded><![CDATA[<p>@roger<br />
MacRuby 0.5 is to completely replace YARV with LLVM<br />
<a href="http://macruby.com/blog/2009/03/28/experimental-branch.html" rel="nofollow">http://macruby.com/blog/2009/03/28/experimental-branch.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: A Drop In The Stream &#8250; links for 2009-05-31</title>
		<link>http://www.igvita.com/2008/11/13/concurrency-is-a-myth-in-ruby/comment-page-1/#comment-196423</link>
		<dc:creator>A Drop In The Stream &#8250; links for 2009-05-31</dc:creator>
		<pubDate>Mon, 01 Jun 2009 04:05:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.igvita.com/?p=198#comment-196423</guid>
		<description>[...] Concurrency is a Myth in Ruby - igvita.com Good discussion of the issues with global interpreter locks. (tags: ruby concurrency threads performance threading programming scalability python) [...]</description>
		<content:encoded><![CDATA[<p>[...] Concurrency is a Myth in Ruby - igvita.com Good discussion of the issues with global interpreter locks. (tags: ruby concurrency threads performance threading programming scalability python) [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: New Engine for Booko at Booko&#8217;s Blogo</title>
		<link>http://www.igvita.com/2008/11/13/concurrency-is-a-myth-in-ruby/comment-page-1/#comment-192728</link>
		<dc:creator>New Engine for Booko at Booko&#8217;s Blogo</dc:creator>
		<pubDate>Mon, 11 May 2009 11:32:12 +0000</pubDate>
		<guid isPermaLink="false">http://www.igvita.com/?p=198#comment-192728</guid>
		<description>[...] best choice for a highly threaded, I/O based bit of code. Well, at least not Ruby 1.8. It&#8217;s interesting to see that JRuby may in fact be the best way to run this type of code.  Ruby 1.8&#8217;s [...]</description>
		<content:encoded><![CDATA[<p>[...] best choice for a highly threaded, I/O based bit of code. Well, at least not Ruby 1.8. It&#8217;s interesting to see that JRuby may in fact be the best way to run this type of code.  Ruby 1.8&#8217;s [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: The Next Radio &#187; Wie reagiert die JVM eigentlich auf Multi-Cores?</title>
		<link>http://www.igvita.com/2008/11/13/concurrency-is-a-myth-in-ruby/comment-page-1/#comment-181169</link>
		<dc:creator>The Next Radio &#187; Wie reagiert die JVM eigentlich auf Multi-Cores?</dc:creator>
		<pubDate>Mon, 30 Mar 2009 21:15:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.igvita.com/?p=198#comment-181169</guid>
		<description>[...] verteilt oder nur auf einem gerechnet werden. Dabei bin ich auf einen wirklich sehr guten Artikel von Ilya Grigorik gestoßen, in dem er genau dieses Szenario anhand von Ruby, Python und Java ausführt. Kann ich [...]</description>
		<content:encoded><![CDATA[<p>[...] verteilt oder nur auf einem gerechnet werden. Dabei bin ich auf einen wirklich sehr guten Artikel von Ilya Grigorik gestoßen, in dem er genau dieses Szenario anhand von Ruby, Python und Java ausführt. Kann ich [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>
