ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/libev/ev.pod
(Generate patch)

Comparing libev/ev.pod (file contents):
Revision 1.94 by root, Fri Dec 21 04:38:45 2007 UTC vs.
Revision 1.96 by ayin, Fri Dec 21 10:06:50 2007 UTC

317For few fds, this backend is a bit little slower than poll and select, 317For few fds, this backend is a bit little slower than poll and select,
318but it scales phenomenally better. While poll and select usually scale 318but it scales phenomenally better. While poll and select usually scale
319like O(total_fds) where n is the total number of fds (or the highest fd), 319like O(total_fds) where n is the total number of fds (or the highest fd),
320epoll scales either O(1) or O(active_fds). The epoll design has a number 320epoll scales either O(1) or O(active_fds). The epoll design has a number
321of shortcomings, such as silently dropping events in some hard-to-detect 321of shortcomings, such as silently dropping events in some hard-to-detect
322cases and rewuiring a syscall per fd change, no fork support and bad 322cases and rewiring a syscall per fd change, no fork support and bad
323support for dup: 323support for dup:
324 324
325While stopping, setting and starting an I/O watcher in the same iteration 325While stopping, setting and starting an I/O watcher in the same iteration
326will result in some caching, there is still a syscall per such incident 326will result in some caching, there is still a syscall per such incident
327(because the fd could point to a different file description now), so its 327(because the fd could point to a different file description now), so its
949 949
950This is how one would do it normally anyway, the important point is that 950This is how one would do it normally anyway, the important point is that
951the libev application should not optimise around libev but should leave 951the libev application should not optimise around libev but should leave
952optimisations to libev. 952optimisations to libev.
953 953
954=head3 Ths special problem of dup'ed file descriptors 954=head3 The special problem of dup'ed file descriptors
955 955
956Some backends (e.g. epoll), cannot register events for file descriptors, 956Some backends (e.g. epoll), cannot register events for file descriptors,
957but only events for the underlying file descriptions. That menas when you 957but only events for the underlying file descriptions. That menas when you
958have C<dup ()>'ed file descriptors and register events for them, only one 958have C<dup ()>'ed file descriptors and register events for them, only one
959file descriptor might actually receive events. 959file descriptor might actually receive events.

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines