]> git.llucax.com Git - software/libev.git/blobdiff - README
created new documentation
[software/libev.git] / README
diff --git a/README b/README
index 966604755ff34156e3b4da0824dd47efcd56bd97..0e756fdbad02142fcbd25f8aaf1ad275c1761053 100644 (file)
--- a/README
+++ b/README
@@ -1,5 +1,8 @@
-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)
 
 - multiple watchers can wait for the same event without deregistering others,
   both for file descriptors as well as signals.
@@ -9,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.
@@ -50,7 +53,11 @@ to be faster and more correct, and also more featureful. Examples:
 
 - simpler design, backends are potentially much simpler
   (in libevent, backends have to deal with watchers, thus the problems)
-  (epoll backend in libevent: 366 lines, libev: 89 lines, and more features)
+  (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?