ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/AnyEvent/lib/AnyEvent.pm
(Generate patch)

Comparing AnyEvent/lib/AnyEvent.pm (file contents):
Revision 1.93 by root, Sat Apr 26 04:19:52 2008 UTC vs.
Revision 1.95 by root, Sat Apr 26 11:06:45 2008 UTC

959can never compete with an event loop that uses epoll when the number of 959can never compete with an event loop that uses epoll when the number of
960file descriptors grows high. In this benchmark, all events become ready at 960file descriptors grows high. In this benchmark, all events become ready at
961the same time, so select/poll-based implementations get an unnatural speed 961the same time, so select/poll-based implementations get an unnatural speed
962boost. 962boost.
963 963
964Also, note that the number of watchers usually has a nonlinear effect on
965overall speed, that is, creating twice as many watchers doesn't take twice
966the time - usually it takes longer. This puts event loops tested with a
967higher number of watchers at a disadvantage.
968
964C<EV> is the sole leader regarding speed and memory use, which are both 969C<EV> is the sole leader regarding speed and memory use, which are both
965maximal/minimal, respectively. Even when going through AnyEvent, it uses 970maximal/minimal, respectively. Even when going through AnyEvent, it uses
966far less memory than any other event loop and is still faster than Event 971far less memory than any other event loop and is still faster than Event
967natively. 972natively.
968 973
1043distribution. 1048distribution.
1044 1049
1045=head3 Explanation of the columns 1050=head3 Explanation of the columns
1046 1051
1047I<sockets> is the number of sockets, and twice the number of "servers" (as 1052I<sockets> is the number of sockets, and twice the number of "servers" (as
1048eahc server has a read and write socket end). 1053each server has a read and write socket end).
1049 1054
1050I<create> is the time it takes to create a socketpair (which is 1055I<create> is the time it takes to create a socketpair (which is
1051nontrivial) and two watchers: an I/O watcher and a timeout watcher. 1056nontrivial) and two watchers: an I/O watcher and a timeout watcher.
1052 1057
1053I<request>, the most important value, is the time it takes to handle a 1058I<request>, the most important value, is the time it takes to handle a

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines