[cups.development] [RFE] STR #1261: New feature: use poll(2) instead of select(2)

Michael Sweet mike at easysw.com
Tue Nov 21 13:26:50 PST 2006


[STR Closed w/Resolution]

The changes to use poll(), epoll(), or kqueue() instead of select() have
been merged to trunk. The difference in performance is interesting - in
tests using the "make test" target with option 0 (keep cupsd running) and
the "testspeed" program with "-c 50 -r 1000", epoll() performed 5.5%
slower than select(), followed by kqueue() at 16% slower than select() and
poll() at 18% slower than select().  Similar results were seen with twice
the number of client connections.

There are some possibilities for optimization (see the comments in
scheduler/select.c), however it is pretty telling that select() is still
faster than any of the alternatives. We may end up adding a configure
option to only use select() for speed addicts that don't need support for
more than 1024 file descriptors (334 clients at a time).

Link: http://www.cups.org/str.php?L1261
Version: 1.3-feature
Fix Version: 1.3-current (r6123)





More information about the cups mailing list