I got to poking around inside medusa's guts and said, "Hey, asyncore.poll() is the innermost loop, why not rewrite it in C?" So I did.
<snip> I hope that for heavily loaded sites with many connections that it will produce a noticable performance improvement. But then, you probably shouldn't try this on a heavily-loaded site yet, unless you can tolerate some downtime... If you want to make this a standard piece of Zope (or medusa), that's okay by me, just let me know.
Andy - Do have any sense yet of the speedup? Just some basic load tests using ab against a specific set of URLs with and without the patch would provide some not-very-scientific-but-still-useful feel for how big the win is... Brian Lloyd brian@digicool.com Software Engineer 540.371.6909 Digital Creations http://www.digicool.com