24 lines
1.3 KiB
Text
24 lines
1.3 KiB
Text
Libev is modelled (very losely) after libevent and the Event perl
|
|
module, but is faster, scales better and is more correct, more
|
|
featureful, and smaller. Some of the specialties of libev not
|
|
commonly found elsewhere are:
|
|
|
|
- extensive and detailed, readable documentation (not doxygen garbage).
|
|
- fully supports fork, can detect fork in various ways and automatically
|
|
re-arms kernel mechanisms that do not support fork.
|
|
- highly optimised select, poll, epoll, kqueue and event ports backends.
|
|
- filesystem object (path) watching (with optional linux inotify support).
|
|
- wallclock-based times (using absolute time, cron-like).
|
|
- relative timers/timeouts (handle time jumps).
|
|
- fast intra-thread communication between multiple
|
|
event loops (with optional fast linux eventfd backend).
|
|
- extremely easy to embed.
|
|
- very small codebase, no bloated library.
|
|
- fully extensible by being able to plug into the event loop,
|
|
integrate other event loops, integrate other event loop users.
|
|
- very little memory use (small watchers, small event loop data).
|
|
- optional C++ interface allowing method and function callbacks
|
|
at no extra memory or runtime overhead.
|
|
- optional Perl interface with similar characteristics
|
|
- support for other languages (multiple C++ interfaces, D, Ruby,
|
|
Python) available from third-parties.
|