[Twisted-Python] eta for an epoll reactor?

I see that the latest Twisted comes with a kqueue reactor. But how about us Linux guys? Will an epoll reactor ever be part of Twisted? -- Cheers, László

There's an epoll reactor for twisted available here: http://delx.cjb.net/pymsnt/?page=downloads Daniel On Oct 27, 2006, at 11:10 PM, Count László de Almásy wrote:

On 10/27/06, Daniel Henninger <jadestorm@nc.rr.com> wrote:
There's an epoll reactor for twisted available here: http://delx.cjb.net/pymsnt/?page=downloads
Thanks. It installed okay, but when I tried `twistd -r epoll -noy emailserver.tac' it pegged my CPU at 100%. I think I'll just wait for the version that will comes with Twisted 2.5. -- Cheers, László

On Fri, 27 Oct 2006 21:10:37 -0600, Count László de Almásy <calmasy@gmail.com> wrote:
I see that the latest Twisted comes with a kqueue reactor. But how about us Linux guys? Will an epoll reactor ever be part of Twisted?
As of earlier this week (or maybe last week, I forget), there is a epoll-based level-triggered reactor in trunk@HEAD. It will be included in Twisted 2.5. Jean-Paul

On Fri, 27 Oct 2006 22:02:38 -0600, Count László de Almásy <calmasy@gmail.com> wrote:
Patches accepted :) Level-triggered already buys quite a lot over poll. I expect edge-triggered is even better, but I don't think I have any apps where I'd notice the difference (it's probably not likely I'd notice the difference between poll and epoll, actually), so I probably won't be spending any time on this in the near future. Edge-triggered shares a lot less code with the existing reactors. Maybe some of the recent IOCP work will be leveragable to this goal, though. Jean-Paul

Jean-Paul Calderone wrote:
Has there been any work done on building a reactor around libevent? I've been references in emails that some thought has gone into one, but I haven't seen any code to go along with those thoughts. I'm considering building one myself, but thought I would ask so I'm not reinventing the wheel if there is a libevent reactor already. Thanks. -- Jason Fritcher Software Engineer Core Infrastructure Services & Strategy Earthlink, Inc fritcher@corp.earthlink.net (404) 748-7262, x22262

Quoting Jason Fritcher <fritcher@corp.earthlink.net>:
There is this ticket: http://twistedmatrix.com/trac/ticket/1930, with a link to this: http://twistedmatrix.com/trac/browser/branches/slyphon/libevent-4. -- Thomas

Quoting Jarrod Roberson <jarrod@vertigrated.com>:
so which one of them approaches is the best way to go about getting a production ready version?
None :). Why do you need a libevent reactor in the first place ?
using pyevent like you did, or the pyrex approach?
The libevent bindings come from http://python-hpio.net/, which is down for a few months now. I spotted a bug in it, so I don't advise to use it. Today I would use pyevent at http://www.monkey.org/~dugsong/pyevent/. For the pyrex version, I didn't try it, but it seemed pretty complete. -- Thomas

On 10/31/06, Thomas HERVE <therve@free.fr> wrote:
we have multiple platforms and libevent would just use the most appropriate event mechanism instead of having to document for production to have to specify -r and when select doesn't cut it.

There's an epoll reactor for twisted available here: http://delx.cjb.net/pymsnt/?page=downloads Daniel On Oct 27, 2006, at 11:10 PM, Count László de Almásy wrote:

On 10/27/06, Daniel Henninger <jadestorm@nc.rr.com> wrote:
There's an epoll reactor for twisted available here: http://delx.cjb.net/pymsnt/?page=downloads
Thanks. It installed okay, but when I tried `twistd -r epoll -noy emailserver.tac' it pegged my CPU at 100%. I think I'll just wait for the version that will comes with Twisted 2.5. -- Cheers, László

On Fri, 27 Oct 2006 21:10:37 -0600, Count László de Almásy <calmasy@gmail.com> wrote:
I see that the latest Twisted comes with a kqueue reactor. But how about us Linux guys? Will an epoll reactor ever be part of Twisted?
As of earlier this week (or maybe last week, I forget), there is a epoll-based level-triggered reactor in trunk@HEAD. It will be included in Twisted 2.5. Jean-Paul

On Fri, 27 Oct 2006 22:02:38 -0600, Count László de Almásy <calmasy@gmail.com> wrote:
Patches accepted :) Level-triggered already buys quite a lot over poll. I expect edge-triggered is even better, but I don't think I have any apps where I'd notice the difference (it's probably not likely I'd notice the difference between poll and epoll, actually), so I probably won't be spending any time on this in the near future. Edge-triggered shares a lot less code with the existing reactors. Maybe some of the recent IOCP work will be leveragable to this goal, though. Jean-Paul

Jean-Paul Calderone wrote:
Has there been any work done on building a reactor around libevent? I've been references in emails that some thought has gone into one, but I haven't seen any code to go along with those thoughts. I'm considering building one myself, but thought I would ask so I'm not reinventing the wheel if there is a libevent reactor already. Thanks. -- Jason Fritcher Software Engineer Core Infrastructure Services & Strategy Earthlink, Inc fritcher@corp.earthlink.net (404) 748-7262, x22262

Quoting Jason Fritcher <fritcher@corp.earthlink.net>:
There is this ticket: http://twistedmatrix.com/trac/ticket/1930, with a link to this: http://twistedmatrix.com/trac/browser/branches/slyphon/libevent-4. -- Thomas

Quoting Jarrod Roberson <jarrod@vertigrated.com>:
so which one of them approaches is the best way to go about getting a production ready version?
None :). Why do you need a libevent reactor in the first place ?
using pyevent like you did, or the pyrex approach?
The libevent bindings come from http://python-hpio.net/, which is down for a few months now. I spotted a bug in it, so I don't advise to use it. Today I would use pyevent at http://www.monkey.org/~dugsong/pyevent/. For the pyrex version, I didn't try it, but it seemed pretty complete. -- Thomas

On 10/31/06, Thomas HERVE <therve@free.fr> wrote:
we have multiple platforms and libevent would just use the most appropriate event mechanism instead of having to document for production to have to specify -r and when select doesn't cut it.
participants (6)
-
Count László de Almásy
-
Daniel Henninger
-
Jarrod Roberson
-
Jason Fritcher
-
Jean-Paul Calderone
-
Thomas HERVE