X-Git-Url: https://git.llucax.com/software/libev.git/blobdiff_plain/89981d101c9d70b930deeea27f840b8a03e4281e..96c68b67a0641d167fa6422f2fd1c1f74c25a83e:/README diff --git a/README b/README index 4886b2b..0e756fd 100644 --- a/README +++ b/README @@ -1,5 +1,6 @@ -libev is modelled after libevent (http://monkey.org/~provos/libevent/), but aims -to be faster and more correct, and also more featureful. Examples: +libev is modelled (very losely) after libevent +(http://monkey.org/~provos/libevent/), but aims to be faster and more +correct, and also more featureful. Examples: (comparisons relative to libevent-1.3e and libev-0.00) @@ -11,8 +12,8 @@ to be faster and more correct, and also more featureful. Examples: - fork() is supported and can be handled (there is no way to recover from a fork when libevent is active) -- timers are handled as a priority queue - (libevent uses a less efficient red-black tree) +- timers are handled as a priority queue (important operations are O(1)) + (libevent uses a much less efficient but more complex red-black tree) - supports absolute (wallclock-based) timers in addition to relative ones, i.e. can schedule timers to occur after n seconds, or at a specific time. @@ -54,6 +55,10 @@ to be faster and more correct, and also more featureful. Examples: (in libevent, backends have to deal with watchers, thus the problems) (epoll backend in libevent: 366 lines, libev: 90 lines, and more features) +- libev handles EBADF gracefully by removing the offending fds. + +- doesn't rely on nonportable BSD header files. + whats missing? - evdns, evhttp, bufferevent are missing, libev is only an even library at