summaryrefslogtreecommitdiff
path: root/devel/libev/DESCR
blob: 123081de6dab6bab488fc3fe749dcae0b4cd87ea (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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.