… | |
… | |
476 | might chose the wrong one unless you load the correct one yourself. |
476 | might chose the wrong one unless you load the correct one yourself. |
477 | |
477 | |
478 | You can chose to use a rather inefficient pure-perl implementation by |
478 | You can chose to use a rather inefficient pure-perl implementation by |
479 | loading the C<AnyEvent::Impl::Perl> module, which gives you similar |
479 | loading the C<AnyEvent::Impl::Perl> module, which gives you similar |
480 | behaviour everywhere, but letting AnyEvent chose is generally better. |
480 | behaviour everywhere, but letting AnyEvent chose is generally better. |
|
|
481 | |
|
|
482 | =head1 OTHER MODULES |
|
|
483 | |
|
|
484 | L<AnyEvent> itself comes with useful utility modules: |
|
|
485 | |
|
|
486 | To make it easier to do non-blocking IO the modules L<AnyEvent::Handle> |
|
|
487 | and L<AnyEvent::Socket> are provided. L<AnyEvent::Handle> provides |
|
|
488 | read and write buffers and manages watchers for reads and writes. |
|
|
489 | L<AnyEvent::Socket> provides means to do non-blocking connects. |
|
|
490 | |
|
|
491 | Aside from those there are these modules that support AnyEvent (and use it |
|
|
492 | for non-blocking IO): |
|
|
493 | |
|
|
494 | =over 4 |
|
|
495 | |
|
|
496 | =item L<AnyEvent::FastPing> |
|
|
497 | |
|
|
498 | =item L<Net::IRC3> |
|
|
499 | |
|
|
500 | =item L<Net::XMPP2> |
|
|
501 | |
|
|
502 | =back |
481 | |
503 | |
482 | =cut |
504 | =cut |
483 | |
505 | |
484 | package AnyEvent; |
506 | package AnyEvent; |
485 | |
507 | |
… | |
… | |
1086 | |
1108 | |
1087 | =head3 Results |
1109 | =head3 Results |
1088 | |
1110 | |
1089 | name sockets create request |
1111 | name sockets create request |
1090 | EV 20000 69.01 11.16 |
1112 | EV 20000 69.01 11.16 |
1091 | Perl 20000 75.28 112.76 |
1113 | Perl 20000 73.32 35.87 |
1092 | Event 20000 212.62 257.32 |
1114 | Event 20000 212.62 257.32 |
1093 | Glib 20000 651.16 1896.30 |
1115 | Glib 20000 651.16 1896.30 |
1094 | POE 20000 349.67 12317.24 uses POE::Loop::Event |
1116 | POE 20000 349.67 12317.24 uses POE::Loop::Event |
1095 | |
1117 | |
1096 | =head3 Discussion |
1118 | =head3 Discussion |
… | |
… | |
1142 | |
1164 | |
1143 | =head3 Results |
1165 | =head3 Results |
1144 | |
1166 | |
1145 | name sockets create request |
1167 | name sockets create request |
1146 | EV 16 20.00 6.54 |
1168 | EV 16 20.00 6.54 |
|
|
1169 | Perl 16 25.75 12.62 |
1147 | Event 16 81.27 35.86 |
1170 | Event 16 81.27 35.86 |
1148 | Glib 16 32.63 15.48 |
1171 | Glib 16 32.63 15.48 |
1149 | Perl 16 24.62 162.37 |
|
|
1150 | POE 16 261.87 276.28 uses POE::Loop::Event |
1172 | POE 16 261.87 276.28 uses POE::Loop::Event |
1151 | |
1173 | |
1152 | =head3 Discussion |
1174 | =head3 Discussion |
1153 | |
1175 | |
1154 | The benchmark tries to test the performance of a typical small |
1176 | The benchmark tries to test the performance of a typical small |