<?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"
	>
<channel>
	<title>Comments on: Erlang vs. Stackless python: a first benchmark</title>
	<atom:link href="http://muharem.wordpress.com/2007/07/31/erlang-vs-stackless-python-a-first-benchmark/feed/" rel="self" type="application/rss+xml" />
	<link>http://muharem.wordpress.com/2007/07/31/erlang-vs-stackless-python-a-first-benchmark/</link>
	<description>Cool ideas revolving around computers and programming</description>
	<pubDate>Sun, 06 Jul 2008 06:16:44 +0000</pubDate>
	<generator>http://wordpress.org/?v=MU</generator>
		<item>
		<title>By: zhaoke</title>
		<link>http://muharem.wordpress.com/2007/07/31/erlang-vs-stackless-python-a-first-benchmark/#comment-5047</link>
		<dc:creator>zhaoke</dc:creator>
		<pubDate>Thu, 21 Feb 2008 22:28:35 +0000</pubDate>
		<guid isPermaLink="false">http://muharem.wordpress.com/2007/07/31/erlang-vs-stackless-python-a-first-benchmark/#comment-5047</guid>
		<description>Stackless Python Tutorials and Resources
http://islab.org/stackless/</description>
		<content:encoded><![CDATA[<p>Stackless Python Tutorials and Resources<br />
<a href="http://islab.org/stackless/" rel="nofollow">http://islab.org/stackless/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Idetrorce</title>
		<link>http://muharem.wordpress.com/2007/07/31/erlang-vs-stackless-python-a-first-benchmark/#comment-4522</link>
		<dc:creator>Idetrorce</dc:creator>
		<pubDate>Sun, 16 Dec 2007 02:07:20 +0000</pubDate>
		<guid isPermaLink="false">http://muharem.wordpress.com/2007/07/31/erlang-vs-stackless-python-a-first-benchmark/#comment-4522</guid>
		<description>very interesting, but I don't agree with you 
Idetrorce</description>
		<content:encoded><![CDATA[<p>very interesting, but I don&#8217;t agree with you<br />
Idetrorce</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: cbmeeks</title>
		<link>http://muharem.wordpress.com/2007/07/31/erlang-vs-stackless-python-a-first-benchmark/#comment-4374</link>
		<dc:creator>cbmeeks</dc:creator>
		<pubDate>Tue, 04 Dec 2007 13:05:00 +0000</pubDate>
		<guid isPermaLink="false">http://muharem.wordpress.com/2007/07/31/erlang-vs-stackless-python-a-first-benchmark/#comment-4374</guid>
		<description>Very interesting read.  

Anyone know of any small to medium cluster examples showing Erlang vs Python vs whatever?

cbmeeks
http://cbmeeks.blogspot.com</description>
		<content:encoded><![CDATA[<p>Very interesting read.  </p>
<p>Anyone know of any small to medium cluster examples showing Erlang vs Python vs whatever?</p>
<p>cbmeeks<br />
<a href="http://cbmeeks.blogspot.com" rel="nofollow">http://cbmeeks.blogspot.com</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: estefanio muharem</title>
		<link>http://muharem.wordpress.com/2007/07/31/erlang-vs-stackless-python-a-first-benchmark/#comment-4061</link>
		<dc:creator>estefanio muharem</dc:creator>
		<pubDate>Wed, 14 Nov 2007 22:43:38 +0000</pubDate>
		<guid isPermaLink="false">http://muharem.wordpress.com/2007/07/31/erlang-vs-stackless-python-a-first-benchmark/#comment-4061</guid>
		<description>estou   procurando  a  minha  familia  meu  pai se  chama Cello Muharem meus  avós  se chama ramadan muharem   e  Zura  Muharem</description>
		<content:encoded><![CDATA[<p>estou   procurando  a  minha  familia  meu  pai se  chama Cello Muharem meus  avós  se chama ramadan muharem   e  Zura  Muharem</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Articles &#187; Blog Archive &#187; Concurrent Programming</title>
		<link>http://muharem.wordpress.com/2007/07/31/erlang-vs-stackless-python-a-first-benchmark/#comment-3960</link>
		<dc:creator>Articles &#187; Blog Archive &#187; Concurrent Programming</dc:creator>
		<pubDate>Sat, 10 Nov 2007 21:30:32 +0000</pubDate>
		<guid isPermaLink="false">http://muharem.wordpress.com/2007/07/31/erlang-vs-stackless-python-a-first-benchmark/#comment-3960</guid>
		<description>[...]  Stackless Python vs Erlang [...]</description>
		<content:encoded><![CDATA[<p>[...]  Stackless Python vs Erlang [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Simon</title>
		<link>http://muharem.wordpress.com/2007/07/31/erlang-vs-stackless-python-a-first-benchmark/#comment-2318</link>
		<dc:creator>Simon</dc:creator>
		<pubDate>Wed, 29 Aug 2007 20:30:17 +0000</pubDate>
		<guid isPermaLink="false">http://muharem.wordpress.com/2007/07/31/erlang-vs-stackless-python-a-first-benchmark/#comment-2318</guid>
		<description>That was an interesting read.

Thanks.</description>
		<content:encoded><![CDATA[<p>That was an interesting read.</p>
<p>Thanks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Erlang ring problem &#187; SDLC Blog</title>
		<link>http://muharem.wordpress.com/2007/07/31/erlang-vs-stackless-python-a-first-benchmark/#comment-2291</link>
		<dc:creator>Erlang ring problem &#187; SDLC Blog</dc:creator>
		<pubDate>Mon, 27 Aug 2007 21:47:35 +0000</pubDate>
		<guid isPermaLink="false">http://muharem.wordpress.com/2007/07/31/erlang-vs-stackless-python-a-first-benchmark/#comment-2291</guid>
		<description>[...] Erlang vs. Stackless python: a first benchmark [...]</description>
		<content:encoded><![CDATA[<p>[...] Erlang vs. Stackless python: a first benchmark [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: muharem</title>
		<link>http://muharem.wordpress.com/2007/07/31/erlang-vs-stackless-python-a-first-benchmark/#comment-1835</link>
		<dc:creator>muharem</dc:creator>
		<pubDate>Sun, 05 Aug 2007 20:55:39 +0000</pubDate>
		<guid isPermaLink="false">http://muharem.wordpress.com/2007/07/31/erlang-vs-stackless-python-a-first-benchmark/#comment-1835</guid>
		<description>Dear all,

thank you very much for your comments drawing attention to a number of interesting aspects I had not covered in the article. I have learned quite a bit by exchanging views with some of you which is one of the benefits of publishing in the blogosphere :-)

In retrospect I think it is fair to state that running the benchmark on my single-CPU system did not really do justice to Erlang which appears to have advanced capabilities when it comes to distributing processes on multi-CPU machines or even clusters.

Furthermore, a proper benchmark would have to tackle problems that are more amenable to parallelisation in order to allow the languages/systems involved to show off their true potential.

Anyway, it was an interesting experience, and I for one will continue to experiment with both Erlang and Python.

Best regards -- Muharem</description>
		<content:encoded><![CDATA[<p>Dear all,</p>
<p>thank you very much for your comments drawing attention to a number of interesting aspects I had not covered in the article. I have learned quite a bit by exchanging views with some of you which is one of the benefits of publishing in the blogosphere <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>In retrospect I think it is fair to state that running the benchmark on my single-CPU system did not really do justice to Erlang which appears to have advanced capabilities when it comes to distributing processes on multi-CPU machines or even clusters.</p>
<p>Furthermore, a proper benchmark would have to tackle problems that are more amenable to parallelisation in order to allow the languages/systems involved to show off their true potential.</p>
<p>Anyway, it was an interesting experience, and I for one will continue to experiment with both Erlang and Python.</p>
<p>Best regards &#8212; Muharem</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Drew Gulino</title>
		<link>http://muharem.wordpress.com/2007/07/31/erlang-vs-stackless-python-a-first-benchmark/#comment-1785</link>
		<dc:creator>Drew Gulino</dc:creator>
		<pubDate>Sat, 04 Aug 2007 17:39:29 +0000</pubDate>
		<guid isPermaLink="false">http://muharem.wordpress.com/2007/07/31/erlang-vs-stackless-python-a-first-benchmark/#comment-1785</guid>
		<description>I found the following Erlang solution easier to understand:
http://erl.nfshost.com/wordpress/2007/07/28/a-ring-benchmark-in-erlang/
It probably doesn't perform as well (14 seconds for N=100, M=90000 on my 1.4 Ghz Windoze XP laptop), but it also doesn't use any OTP library calls that hadn't been covered in the book at the point he describes this benchmark.</description>
		<content:encoded><![CDATA[<p>I found the following Erlang solution easier to understand:<br />
<a href="http://erl.nfshost.com/wordpress/2007/07/28/a-ring-benchmark-in-erlang/" rel="nofollow">http://erl.nfshost.com/wordpress/2007/07/28/a-ring-benchmark-in-erlang/</a><br />
It probably doesn&#8217;t perform as well (14 seconds for N=100, M=90000 on my 1.4 Ghz Windoze XP laptop), but it also doesn&#8217;t use any OTP library calls that hadn&#8217;t been covered in the book at the point he describes this benchmark.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Christian Tismer</title>
		<link>http://muharem.wordpress.com/2007/07/31/erlang-vs-stackless-python-a-first-benchmark/#comment-1780</link>
		<dc:creator>Christian Tismer</dc:creator>
		<pubDate>Sat, 04 Aug 2007 14:49:56 +0000</pubDate>
		<guid isPermaLink="false">http://muharem.wordpress.com/2007/07/31/erlang-vs-stackless-python-a-first-benchmark/#comment-1780</guid>
		<description>First of all, thanks to Muharem for this nice blog.
It is interesting, although I have no idea about Erlang.

A few comments:

Stackless Python has its concurrency support built in C, but Python
is not a compiled language. I don't know if the E code was compiled?

Stackless development for CPython has not gone much further for the last 3 years
because I was involved in the PyPy project, which is going to be
the superior Python at some point. Stackless has ben implemented
on top of PyPy, with support for multiple concurrency models at
the same time, supporting coroutines directly in the core.
At some point, I will write a similar benchmark that compiles
to native code.

This site might be interesting: http://codespeak.net/pypy/

Stackless' concurrency model is a little bit modelled after the Limbo language
from Plan9. My intention at that point was to have a simple
model with anonymous rendevouz points. Meanwhile, we have
found a scalable way to handle multiple concurrency models
in a composable way, with or without explicit naming of jump targets,
and the old Stackless model is now just a special case.
Stay tuned, there is a lot more to come.

About the GIL:
Yes, it is always a problem with CPython, and although there once was
a huge patch to replace it by extensive object locking, this will probably
not vanish from CPython in any near future. PyPy has the flexibility to try alternatives
to a GIL, there was just not enough time during the EU funded
project, but it will come for sure. We will be looking into ways
to do better separation of objects, to avoid to much locking expense.

On real threads:
Stackless has limited support to control real threads with a tasklet.
You can have tasklets be running in different threads. This helps
with blocking OS calls, but not with the GIL problem. So again,
if there will be a solution for real concurrency and multiple CPUs,
this will first appear in PyPy.

On number of processes:
I'd like to point out that Stackless' tasklets are very tiny objects.
I would be interested to know how things scale in Erlang.
Try your example with 100000 tasks. This is a cakewalk with
Stackless, since a tasklet is a few 100 bytes, only.

Thanks again for this nice blog, I will follow this.

cheers - chris</description>
		<content:encoded><![CDATA[<p>First of all, thanks to Muharem for this nice blog.<br />
It is interesting, although I have no idea about Erlang.</p>
<p>A few comments:</p>
<p>Stackless Python has its concurrency support built in C, but Python<br />
is not a compiled language. I don&#8217;t know if the E code was compiled?</p>
<p>Stackless development for CPython has not gone much further for the last 3 years<br />
because I was involved in the PyPy project, which is going to be<br />
the superior Python at some point. Stackless has ben implemented<br />
on top of PyPy, with support for multiple concurrency models at<br />
the same time, supporting coroutines directly in the core.<br />
At some point, I will write a similar benchmark that compiles<br />
to native code.</p>
<p>This site might be interesting: <a href="http://codespeak.net/pypy/" rel="nofollow">http://codespeak.net/pypy/</a></p>
<p>Stackless&#8217; concurrency model is a little bit modelled after the Limbo language<br />
from Plan9. My intention at that point was to have a simple<br />
model with anonymous rendevouz points. Meanwhile, we have<br />
found a scalable way to handle multiple concurrency models<br />
in a composable way, with or without explicit naming of jump targets,<br />
and the old Stackless model is now just a special case.<br />
Stay tuned, there is a lot more to come.</p>
<p>About the GIL:<br />
Yes, it is always a problem with CPython, and although there once was<br />
a huge patch to replace it by extensive object locking, this will probably<br />
not vanish from CPython in any near future. PyPy has the flexibility to try alternatives<br />
to a GIL, there was just not enough time during the EU funded<br />
project, but it will come for sure. We will be looking into ways<br />
to do better separation of objects, to avoid to much locking expense.</p>
<p>On real threads:<br />
Stackless has limited support to control real threads with a tasklet.<br />
You can have tasklets be running in different threads. This helps<br />
with blocking OS calls, but not with the GIL problem. So again,<br />
if there will be a solution for real concurrency and multiple CPUs,<br />
this will first appear in PyPy.</p>
<p>On number of processes:<br />
I&#8217;d like to point out that Stackless&#8217; tasklets are very tiny objects.<br />
I would be interested to know how things scale in Erlang.<br />
Try your example with 100000 tasks. This is a cakewalk with<br />
Stackless, since a tasklet is a few 100 bytes, only.</p>
<p>Thanks again for this nice blog, I will follow this.</p>
<p>cheers - chris</p>
]]></content:encoded>
	</item>
</channel>
</rss>
