1 | =head1 NAME |
1 | =head1 NAME |
2 | |
2 | |
3 | AnyEvent - the DBI of event loop programming |
3 | AnyEvent - the DBI of event loop programming |
4 | |
4 | |
5 | EV, Event, Glib, Tk, Perl, Event::Lib, Irssi, rxvt-unicode, IO::Async, Qt, |
5 | EV, Event, Glib, Tk, UV, Perl, Event::Lib, Irssi, rxvt-unicode, IO::Async, |
6 | FLTK and POE are various supported event loops/environments. |
6 | Qt, FLTK and POE are various supported event loops/environments. |
7 | |
7 | |
8 | =head1 SYNOPSIS |
8 | =head1 SYNOPSIS |
9 | |
9 | |
10 | use AnyEvent; |
10 | use AnyEvent; |
11 | |
11 | |
… | |
… | |
883 | create watchers. Nothing special needs to be done by the main program. |
883 | create watchers. Nothing special needs to be done by the main program. |
884 | |
884 | |
885 | AnyEvent::Impl::Event based on Event, very stable, few glitches. |
885 | AnyEvent::Impl::Event based on Event, very stable, few glitches. |
886 | AnyEvent::Impl::Glib based on Glib, slow but very stable. |
886 | AnyEvent::Impl::Glib based on Glib, slow but very stable. |
887 | AnyEvent::Impl::Tk based on Tk, very broken. |
887 | AnyEvent::Impl::Tk based on Tk, very broken. |
|
|
888 | AnyEvent::Impl::UV based on UV, innovated square wheels. |
888 | AnyEvent::Impl::EventLib based on Event::Lib, leaks memory and worse. |
889 | AnyEvent::Impl::EventLib based on Event::Lib, leaks memory and worse. |
889 | AnyEvent::Impl::POE based on POE, very slow, some limitations. |
890 | AnyEvent::Impl::POE based on POE, very slow, some limitations. |
890 | AnyEvent::Impl::Irssi used when running within irssi. |
891 | AnyEvent::Impl::Irssi used when running within irssi. |
891 | AnyEvent::Impl::IOAsync based on IO::Async. |
892 | AnyEvent::Impl::IOAsync based on IO::Async. |
892 | AnyEvent::Impl::Cocoa based on Cocoa::EventLoop. |
893 | AnyEvent::Impl::Cocoa based on Cocoa::EventLoop. |
… | |
… | |
1366 | [Event:: => AnyEvent::Impl::Event::], # slow, stable |
1367 | [Event:: => AnyEvent::Impl::Event::], # slow, stable |
1367 | [Glib:: => AnyEvent::Impl::Glib::], # becomes extremely slow with many watchers |
1368 | [Glib:: => AnyEvent::Impl::Glib::], # becomes extremely slow with many watchers |
1368 | # everything below here should not be autoloaded |
1369 | # everything below here should not be autoloaded |
1369 | [Event::Lib:: => AnyEvent::Impl::EventLib::], # too buggy |
1370 | [Event::Lib:: => AnyEvent::Impl::EventLib::], # too buggy |
1370 | [Tk:: => AnyEvent::Impl::Tk::], # crashes with many handles |
1371 | [Tk:: => AnyEvent::Impl::Tk::], # crashes with many handles |
|
|
1372 | [UV:: => AnyEvent::Impl::UV::], # switched from libev, added back all bugs imaginable |
1371 | [Qt:: => AnyEvent::Impl::Qt::], # requires special main program |
1373 | [Qt:: => AnyEvent::Impl::Qt::], # requires special main program |
1372 | [POE::Kernel:: => AnyEvent::Impl::POE::], # lasciate ogni speranza |
1374 | [POE::Kernel:: => AnyEvent::Impl::POE::], # lasciate ogni speranza |
1373 | [Wx:: => AnyEvent::Impl::POE::], |
1375 | [Wx:: => AnyEvent::Impl::POE::], |
1374 | [Prima:: => AnyEvent::Impl::POE::], |
1376 | [Prima:: => AnyEvent::Impl::POE::], |
1375 | [IO::Async::Loop:: => AnyEvent::Impl::IOAsync::], # a bitch to autodetect |
1377 | [IO::Async::Loop:: => AnyEvent::Impl::IOAsync::], # a bitch to autodetect |