You probably already know all of these, but just in case ... [ Jim Fulton ]: --------------- | | I am strongly against linking ZEO to an application's main loop.
Twisted performs better if the protocols build upon it rely on its reactor (asynchronous loop). That means breaking long computations to use promises (deferreds in Twisted vocabulary), therefore increasing the interleaving of data handlers. Implementing ZEO in Twisted would probably isolate the zeo protocol from the underlying transport (tcp, udp, whatever). OTOH, the implementation would be dependent on the typical deferred patterns (only common in Twisted nowadays). Twisted also support threads, but that defeats most of the other benefits of using Twisted in the first place (like not bothering about critical sections and other synch stuff), so they are just used when blocking calls must be made. | If twisted supports using multiple independent main loops, then it | would be an option. I know it supports multiple implementations of reactors, each specialized for a particular purpose, for instance to conciliate two different loops into a single reactor, which is the case of twisted_networking_loop + GUI_event_loop. Therefore, it would be possible (my educated guess) to create a zeoreactor, would that suffice ? That was done to marry Twisted to: gtk, gtk2, glib2, wxPython, win32event loops. | Then the possible issues are: | | - Whether we want Twisted to be a dependency of ZEO If it comes to that, probably just TwistedCore would be required, and perhaps even a subset. | - Performance There is a lot of this-and-that [1] about what communication pattern performs better. Twisted is definetely better for long sessions, and not necessarily much worse for short-termed sessions (where "people" say thread-pools are much sexier). IMVHO, the strong argument behind Twisted adoption would be flexibility and not huge speedups. [ David Pratt ]: ----------------- | > Is there is any strong opposition to using the twistd daemon for a | > twisted zeo service? I volunteer to help in that effort to the best of my modest skills and limited (just like everybody else) spare time. [1] http://www.cs.wustl.edu/~schmidt/patterns-ace.html cheers, Senra ------------- Rodrigo Senra GPr Sistemas _______________________________________________ For more information about ZODB, see the ZODB Wiki: http://www.zope.org/Wikis/ZODB/ ZODB-Dev mailing list - ZODB-Dev@zope.org http://mail.zope.org/mailman/listinfo/zodb-dev