<?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: Running rings around Erlang</title>
	<atom:link href="http://tech.puredanger.com/index.php/2009/01/01/ring-erlang/feed/" rel="self" type="application/rss+xml" />
	<link>http://tech.puredanger.com/2009/01/01/ring-erlang/</link>
	<description>Alex Miller&#039;s technical blog</description>
	<lastBuildDate>Mon, 06 Feb 2012 19:39:50 -0800</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.4</generator>
	<item>
		<title>By: Michael</title>
		<link>http://tech.puredanger.com/2009/01/01/ring-erlang/comment-page-1/#comment-146849</link>
		<dc:creator>Michael</dc:creator>
		<pubDate>Fri, 27 Feb 2009 05:27:18 +0000</pubDate>
		<guid isPermaLink="false">http://tech.puredanger.com/2009/01/01/ring-erlang/#comment-146849</guid>
		<description>I also tried this problem last night, here is my solution. 

&lt;a href=&quot;http://sudothinker.com/2009/2/27/erlang-exercises-interaction-between-processes-concurrency-ring-code&quot; rel=&quot;nofollow&quot;&gt;http://sudothinker.com/2009/2/27/erlang-exercises-interaction-between-processes-concurrency-ring-code&lt;/a&gt;

I took it one step further and made sure each node also knew the node before it so it knew where to accept the message from, that way we can be sure that the message is making its correct path around the ring. Might be overkill for this type of problem, but in a bigger system it would make sense as the processes could get messages from anyone and we might not want to send them around the ring.

Thanks for sharing!</description>
		<content:encoded><![CDATA[<p>I also tried this problem last night, here is my solution. </p>
<p><a href="http://sudothinker.com/2009/2/27/erlang-exercises-interaction-between-processes-concurrency-ring-code" rel="nofollow">http://sudothinker.com/2009/2/27/erlang-exercises-interaction-between-processes-concurrency-ring-code</a></p>
<p>I took it one step further and made sure each node also knew the node before it so it knew where to accept the message from, that way we can be sure that the message is making its correct path around the ring. Might be overkill for this type of problem, but in a bigger system it would make sense as the processes could get messages from anyone and we might not want to send them around the ring.</p>
<p>Thanks for sharing!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alex</title>
		<link>http://tech.puredanger.com/2009/01/01/ring-erlang/comment-page-1/#comment-130303</link>
		<dc:creator>Alex</dc:creator>
		<pubDate>Fri, 02 Jan 2009 17:56:34 +0000</pubDate>
		<guid isPermaLink="false">http://tech.puredanger.com/2009/01/01/ring-erlang/#comment-130303</guid>
		<description>@codist - I&#039;m running on a MacBook Pro with a 2.4 GHz Intel Core 2 Duo and 4 GB of RAM just for the record.  

@pat - many thanks for the reference! I knew there was a more clever way to do it.  

After sleeping on this blog, it also occurred to me that rather than send a stop message around the ring I could use linked processes and just have the ring die off in reverse based on trapping exit signals.  I might give that a try later.</description>
		<content:encoded><![CDATA[<p>@codist &#8211; I&#8217;m running on a MacBook Pro with a 2.4 GHz Intel Core 2 Duo and 4 GB of RAM just for the record.  </p>
<p>@pat &#8211; many thanks for the reference! I knew there was a more clever way to do it.  </p>
<p>After sleeping on this blog, it also occurred to me that rather than send a stop message around the ring I could use linked processes and just have the ring die off in reverse based on trapping exit signals.  I might give that a try later.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pat</title>
		<link>http://tech.puredanger.com/2009/01/01/ring-erlang/comment-page-1/#comment-130300</link>
		<dc:creator>pat</dc:creator>
		<pubDate>Fri, 02 Jan 2009 17:42:43 +0000</pubDate>
		<guid isPermaLink="false">http://tech.puredanger.com/2009/01/01/ring-erlang/#comment-130300</guid>
		<description>See also the &lt;a href=&quot;http://shootout.alioth.debian.org/u32q/benchmark.php?test=threadring&amp;lang=hipe&amp;id=1&quot; rel=&quot;nofollow&quot;&gt;Erlang thread-ring implementation&lt;/a&gt; at the Computer Language Benchmark Game (Shootout).  It uses lists:foldl() to spawn and connect the processes in one go, with self() also used as one process in the ring.</description>
		<content:encoded><![CDATA[<p>See also the <a href="http://shootout.alioth.debian.org/u32q/benchmark.php?test=threadring&amp;lang=hipe&amp;id=1" rel="nofollow">Erlang thread-ring implementation</a> at the Computer Language Benchmark Game (Shootout).  It uses lists:foldl() to spawn and connect the processes in one go, with self() also used as one process in the ring.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: codist</title>
		<link>http://tech.puredanger.com/2009/01/01/ring-erlang/comment-page-1/#comment-130295</link>
		<dc:creator>codist</dc:creator>
		<pubDate>Fri, 02 Jan 2009 17:09:46 +0000</pubDate>
		<guid isPermaLink="false">http://tech.puredanger.com/2009/01/01/ring-erlang/#comment-130295</guid>
		<description>A year ago I did a similar thing in Java on a 4 processor PC. Best I could get was 18,000 messages per second.</description>
		<content:encoded><![CDATA[<p>A year ago I did a similar thing in Java on a 4 processor PC. Best I could get was 18,000 messages per second.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonas</title>
		<link>http://tech.puredanger.com/2009/01/01/ring-erlang/comment-page-1/#comment-130263</link>
		<dc:creator>Jonas</dc:creator>
		<pubDate>Fri, 02 Jan 2009 14:51:20 +0000</pubDate>
		<guid isPermaLink="false">http://tech.puredanger.com/2009/01/01/ring-erlang/#comment-130263</guid>
		<description>Great post. Fun example. 
Good to see you ramping up on Erlang. I really like it, only wish I could get paid to hack it :)
Looking forward to more posts like this.</description>
		<content:encoded><![CDATA[<p>Great post. Fun example.<br />
Good to see you ramping up on Erlang. I really like it, only wish I could get paid to hack it :)<br />
Looking forward to more posts like this.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

