<?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 for Eric Day - Blog</title>
	<atom:link href="http://oddments.org/?feed=comments-rss2" rel="self" type="application/rss+xml" />
	<link>http://oddments.org</link>
	<description>Thoughts, code, and other oddments.</description>
	<lastBuildDate>Sat, 04 Sep 2010 11:14:17 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
	<item>
		<title>Comment on C vs C++ by C versus C++ &#171; Made with Tea</title>
		<link>http://oddments.org/?p=79&#038;cpage=1#comment-2156</link>
		<dc:creator>C versus C++ &#171; Made with Tea</dc:creator>
		<pubDate>Sat, 04 Sep 2010 11:14:17 +0000</pubDate>
		<guid isPermaLink="false">http://www.oddments.org/?p=79#comment-2156</guid>
		<description>[...] just read an article on C versus C++, you can check it out here. It&#8217;s an overview of his programming experiences with C and C++. On many aspects of the [...]</description>
		<content:encoded><![CDATA[<p>[...] just read an article on C versus C++, you can check it out here. It&#8217;s an overview of his programming experiences with C and C++. On many aspects of the [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Scale Stack vs node.js vs Twisted vs Eventlet by Eric Day</title>
		<link>http://oddments.org/?p=494&#038;cpage=1#comment-2155</link>
		<dc:creator>Eric Day</dc:creator>
		<pubDate>Thu, 02 Sep 2010 05:37:31 +0000</pubDate>
		<guid isPermaLink="false">http://oddments.org/?p=494#comment-2155</guid>
		<description>It turns out the default socket buffer sizes in Erlang are only 1500 bytes (MTU size). After putting these up to 16k like in the other servers, Erlang came in at 61.65 seconds for the 32k connection/512k payload test, just behind the C++ server and right there with Go. Memory consumption with the Erlang server was also fairly low (peak around 400M, usually around 150M).</description>
		<content:encoded><![CDATA[<p>It turns out the default socket buffer sizes in Erlang are only 1500 bytes (MTU size). After putting these up to 16k like in the other servers, Erlang came in at 61.65 seconds for the 32k connection/512k payload test, just behind the C++ server and right there with Go. Memory consumption with the Erlang server was also fairly low (peak around 400M, usually around 150M).</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on libdrizzle + SQLite hack by lee</title>
		<link>http://oddments.org/?p=40&#038;cpage=1#comment-2132</link>
		<dc:creator>lee</dc:creator>
		<pubDate>Tue, 17 Aug 2010 22:52:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.oddments.org/?p=40#comment-2132</guid>
		<description>Is this such a bad idea after all? 

What would be required to make it useful for both MySQL &amp; SQLite developers? Perhaps with some irony Oracle has gone &amp; tacked SQLite onto BerkeleyDB w/ a drop-in replacement lib for API calls. In the interim of MySQL dropping BDB support, I think BDB has gained row-level (range-offset) locking of its tables. 

Seems to me this&#039;d be an interesting project, the upshot being that terabytes (maybe petabytes...?) of very fast hash can be accessed via SQL. There are a handful of SQLite Server projects but I haven&#039;t eval&#039;d those yet. 

What would libdrizzle bring to the table? What would it take to turn this into a project, say a libdrizzle-sqlite-bdb data stack?

Maybe put it on a ceph-btrfs-drbd stack &amp; you&#039;ve got a monster. Or worse yet, a Kerrighed or OpenSSI cluster =&#039;s a linux equiv. of a sysplex... ;-)

?</description>
		<content:encoded><![CDATA[<p>Is this such a bad idea after all? </p>
<p>What would be required to make it useful for both MySQL &amp; SQLite developers? Perhaps with some irony Oracle has gone &amp; tacked SQLite onto BerkeleyDB w/ a drop-in replacement lib for API calls. In the interim of MySQL dropping BDB support, I think BDB has gained row-level (range-offset) locking of its tables. </p>
<p>Seems to me this&#8217;d be an interesting project, the upshot being that terabytes (maybe petabytes&#8230;?) of very fast hash can be accessed via SQL. There are a handful of SQLite Server projects but I haven&#8217;t eval&#8217;d those yet. </p>
<p>What would libdrizzle bring to the table? What would it take to turn this into a project, say a libdrizzle-sqlite-bdb data stack?</p>
<p>Maybe put it on a ceph-btrfs-drbd stack &amp; you&#8217;ve got a monster. Or worse yet, a Kerrighed or OpenSSI cluster =&#8217;s a linux equiv. of a sysplex&#8230; ;-)</p>
<p>?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Scale Stack vs node.js vs Twisted vs Eventlet by Eric Day</title>
		<link>http://oddments.org/?p=494&#038;cpage=1#comment-2116</link>
		<dc:creator>Eric Day</dc:creator>
		<pubDate>Fri, 06 Aug 2010 07:51:14 +0000</pubDate>
		<guid isPermaLink="false">http://oddments.org/?p=494#comment-2116</guid>
		<description>I decided to run a few more versions for just the 32k connection, 512k data test. Below are the repeated times for the original four, plus Erlang, regular Python threads, and the two versions of the Go server that were left in comments.

Scale Stack 50.25
node.js 117.04
Twisted 89.46
Eventlet 77.80
Erlang 108.94
Python threads 111.04 (lots of memory even with minimal stack size)
Go v1 62.95
Go v2 59.73

The Go version is very impressive, almost as fast as the C++ version. Of course these last four you get SMP without any extra work, which is a bonus.</description>
		<content:encoded><![CDATA[<p>I decided to run a few more versions for just the 32k connection, 512k data test. Below are the repeated times for the original four, plus Erlang, regular Python threads, and the two versions of the Go server that were left in comments.</p>
<p>Scale Stack 50.25<br />
node.js 117.04<br />
Twisted 89.46<br />
Eventlet 77.80<br />
Erlang 108.94<br />
Python threads 111.04 (lots of memory even with minimal stack size)<br />
Go v1 62.95<br />
Go v2 59.73</p>
<p>The Go version is very impressive, almost as fast as the C++ version. Of course these last four you get SMP without any extra work, which is a bonus.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Scale Stack vs node.js vs Twisted vs Eventlet by Stephen Major</title>
		<link>http://oddments.org/?p=494&#038;cpage=1#comment-2114</link>
		<dc:creator>Stephen Major</dc:creator>
		<pubDate>Thu, 05 Aug 2010 22:30:21 +0000</pubDate>
		<guid isPermaLink="false">http://oddments.org/?p=494#comment-2114</guid>
		<description>I have to second the others who have mentioned the Google go lang, it compiles and is powerful like C++ but is a breeze to develop like python.

Could you please perform a benchmark against GO pretty pretty please, I am really interested as my core CP for the cloud is being designed in GO and it would be sweetness if it turned out to be hand in hand.</description>
		<content:encoded><![CDATA[<p>I have to second the others who have mentioned the Google go lang, it compiles and is powerful like C++ but is a breeze to develop like python.</p>
<p>Could you please perform a benchmark against GO pretty pretty please, I am really interested as my core CP for the cloud is being designed in GO and it would be sweetness if it turned out to be hand in hand.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Scale Stack vs node.js vs Twisted vs Eventlet by Paul Nakata</title>
		<link>http://oddments.org/?p=494&#038;cpage=1#comment-2113</link>
		<dc:creator>Paul Nakata</dc:creator>
		<pubDate>Thu, 05 Aug 2010 18:53:06 +0000</pubDate>
		<guid isPermaLink="false">http://oddments.org/?p=494#comment-2113</guid>
		<description>Err, that link should be: http://github.com/fiorix/cyclone</description>
		<content:encoded><![CDATA[<p>Err, that link should be: <a href="http://github.com/fiorix/cyclone" rel="nofollow">http://github.com/fiorix/cyclone</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Scale Stack vs node.js vs Twisted vs Eventlet by Paul Nakata</title>
		<link>http://oddments.org/?p=494&#038;cpage=1#comment-2112</link>
		<dc:creator>Paul Nakata</dc:creator>
		<pubDate>Thu, 05 Aug 2010 18:50:55 +0000</pubDate>
		<guid isPermaLink="false">http://oddments.org/?p=494#comment-2112</guid>
		<description>I&#039;m a little late to the party, but have you checked out Cyclone (http://github.com/fiorix/cyclone)?

It&#039;s Tornado ported to run on top of Twisted. If you already have a codebase that&#039;s built on Tornado it could give you the best of both worlds.</description>
		<content:encoded><![CDATA[<p>I&#8217;m a little late to the party, but have you checked out Cyclone (<a href="http://github.com/fiorix/cyclone)?" rel="nofollow">http://github.com/fiorix/cyclone)?</a></p>
<p>It&#8217;s Tornado ported to run on top of Twisted. If you already have a codebase that&#8217;s built on Tornado it could give you the best of both worlds.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Scale Stack vs node.js vs Twisted vs Eventlet by Uriel Katz</title>
		<link>http://oddments.org/?p=494&#038;cpage=1#comment-2109</link>
		<dc:creator>Uriel Katz</dc:creator>
		<pubDate>Wed, 04 Aug 2010 14:24:35 +0000</pubDate>
		<guid isPermaLink="false">http://oddments.org/?p=494#comment-2109</guid>
		<description>Gevent is faster than eventlet due to the use of non-python core,while eventlet uses a python hub.
also if you don`t need to do streaming there is the libevent http server which is really really fast!
I have created a proxy for Rackspace cloud files that does authentication and stream the result to the client.
On my computer it handles 500 concurrent downloads of a 700MB using 100% of one core and 45MB of memory all using gevent :)</description>
		<content:encoded><![CDATA[<p>Gevent is faster than eventlet due to the use of non-python core,while eventlet uses a python hub.<br />
also if you don`t need to do streaming there is the libevent http server which is really really fast!<br />
I have created a proxy for Rackspace cloud files that does authentication and stream the result to the client.<br />
On my computer it handles 500 concurrent downloads of a 700MB using 100% of one core and 45MB of memory all using gevent :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Scale Stack vs node.js vs Twisted vs Eventlet by Denis</title>
		<link>http://oddments.org/?p=494&#038;cpage=1#comment-2086</link>
		<dc:creator>Denis</dc:creator>
		<pubDate>Sat, 31 Jul 2010 04:54:23 +0000</pubDate>
		<guid isPermaLink="false">http://oddments.org/?p=494#comment-2086</guid>
		<description>I&#039;d also like to see gevent included in the tests :o)

Regarding Ryan&#039;s misunderstanding of what exactly is more clear about gevent&#039;s API - one aspect is duplicating functionality. For example, in eventlet there&#039;s eventlet.green.threading.Event and eventlet.event.Event. Both classes have the same purpose but different interfaces. In gevent there&#039;s just gevent.event.Event which has the interface of threading.Event.

Here&#039;s more info on the differences between the two libraries: http://blog.gevent.org/2010/02/27/why-gevent/

Also, eventlet does not truly support libevent. There&#039;s pyevent-based hub but a few quite important parts of eventlet become broken when it&#039;s selected (e.g. thread pool). I&#039;m pretty sure everyone who wanted to use libevent with eventlet is already using gevent.</description>
		<content:encoded><![CDATA[<p>I&#8217;d also like to see gevent included in the tests :o)</p>
<p>Regarding Ryan&#8217;s misunderstanding of what exactly is more clear about gevent&#8217;s API &#8211; one aspect is duplicating functionality. For example, in eventlet there&#8217;s eventlet.green.threading.Event and eventlet.event.Event. Both classes have the same purpose but different interfaces. In gevent there&#8217;s just gevent.event.Event which has the interface of threading.Event.</p>
<p>Here&#8217;s more info on the differences between the two libraries: <a href="http://blog.gevent.org/2010/02/27/why-gevent/" rel="nofollow">http://blog.gevent.org/2010/02/27/why-gevent/</a></p>
<p>Also, eventlet does not truly support libevent. There&#8217;s pyevent-based hub but a few quite important parts of eventlet become broken when it&#8217;s selected (e.g. thread pool). I&#8217;m pretty sure everyone who wanted to use libevent with eventlet is already using gevent.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Scale Stack vs node.js vs Twisted vs Eventlet by Ryan Williams</title>
		<link>http://oddments.org/?p=494&#038;cpage=1#comment-2082</link>
		<dc:creator>Ryan Williams</dc:creator>
		<pubDate>Fri, 30 Jul 2010 16:56:16 +0000</pubDate>
		<guid isPermaLink="false">http://oddments.org/?p=494#comment-2082</guid>
		<description>Not really sure what you mean, Keith.  Eventlet replicates the multithreading interfaces exactly.  We had a little session at pycon where a bunch of folks brought in their multithreaded apps and ran them on Eventlet without any code changes.  :)  You can even mix real threads and greenthreads, if you must, like Spawning does.</description>
		<content:encoded><![CDATA[<p>Not really sure what you mean, Keith.  Eventlet replicates the multithreading interfaces exactly.  We had a little session at pycon where a bunch of folks brought in their multithreaded apps and ran them on Eventlet without any code changes.  :)  You can even mix real threads and greenthreads, if you must, like Spawning does.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
