use AnyEvent; use Glib;
# this module gets loaded automatically as required
Glib is probably the most inefficient event loop that has ever seen the light of the world: Glib not only scans all its watchers (really, ALL of them, whether I/O-related, timer-related or not) during each loop iteration, it also does so multiple times and rebuilds the poll list for the kernel each time again, dynamically even.
If you create many watchers (as in: more than two), you might consider one of the Glib::EV, EV::Glib or Glib::Event modules that map Glib to other, more efficient, event loops.
This module uses the default Glib main context for all it's watchers.
Marc Lehmann <firstname.lastname@example.org> http://home.schmorp.de/