… | |
… | |
14 | This module provides transparent support for AnyEvent. You don't have to |
14 | This module provides transparent support for AnyEvent. You don't have to |
15 | do anything to make Glib work with AnyEvent except by loading Glib before |
15 | do anything to make Glib work with AnyEvent except by loading Glib before |
16 | creating the first AnyEvent watcher. |
16 | creating the first AnyEvent watcher. |
17 | |
17 | |
18 | Glib is probably the most inefficient event loop that has ever seen the |
18 | Glib is probably the most inefficient event loop that has ever seen the |
19 | light of the world: Glib not only scans all its watchers (really, ALL |
19 | light of the world: Glib not only scans all its watchers (really, ALL of |
20 | of them, whether I/O-related, timer-related or not) during each loop |
20 | them, whether I/O-related, timer-related or what not) during each loop |
21 | iteration, it also does so multiple times and rebuilds the poll list for |
21 | iteration, it also does so multiple times and rebuilds the poll list for |
22 | the kernel each time again, dynamically even. |
22 | the kernel each time again, dynamically even. |
|
|
23 | |
|
|
24 | On the positive side, Glib generally works correctly, no quarrels there. |
23 | |
25 | |
24 | If you create many watchers (as in: more than two), you might consider one |
26 | If you create many watchers (as in: more than two), you might consider one |
25 | of the L<Glib::EV>, L<EV::Glib> or L<Glib::Event> modules that map Glib to |
27 | of the L<Glib::EV>, L<EV::Glib> or L<Glib::Event> modules that map Glib to |
26 | other, more efficient, event loops. |
28 | other, more efficient, event loops. |
27 | |
29 | |