--- AnyEvent/lib/AnyEvent.pm 2008/04/25 09:00:37 1.77 +++ AnyEvent/lib/AnyEvent.pm 2008/04/25 09:08:16 1.79 @@ -138,7 +138,7 @@ my variables are only visible after the statement in which they are declared. -=head2 IO WATCHERS +=head2 I/O WATCHERS You can create an I/O watcher by calling the C<< AnyEvent->io >> method with the following mandatory key-value pairs as arguments: @@ -708,7 +708,7 @@ =head1 EXAMPLE PROGRAM -The following program uses an IO watcher to read data from STDIN, a timer +The following program uses an I/O watcher to read data from STDIN, a timer to display a message once per second, and a condition variable to quit the program when the user enters quit: @@ -869,12 +869,12 @@ over the event loops themselves (and to give you an impression of the speed of various event loops), here is a benchmark of various supported event models natively and with anyevent. The benchmark creates a lot of -timers (with a zero timeout) and io watchers (watching STDOUT, a pty, to +timers (with a zero timeout) and I/O watchers (watching STDOUT, a pty, to become writable, which it is), lets them fire exactly once and destroys them again. Rewriting the benchmark to use many different sockets instead of using -the same filehandle for all io watchers results in a much longer runtime +the same filehandle for all I/O watchers results in a much longer runtime (socket creation is expensive), but qualitatively the same figures, so it was not used. @@ -964,7 +964,7 @@ select-based backend or the Event module) shows abysmal performance and memory usage: Watchers use almost 30 times as much memory as EV watchers, and 10 times as much memory as both Event or EV via AnyEvent. Watcher -invocation is almost 700 times slower than with AnyEvent's pure perl +invocation is almost 900 times slower than with AnyEvent's pure perl implementation. The design of the POE adaptor class in AnyEvent can not really account for this, as session creation overhead is small compared to execution of the state machine, which is coded pretty optimally within