summaryrefslogtreecommitdiff
path: root/ev.pod
diff options
context:
space:
mode:
authorroot <root>2008-05-09 15:52:13 +0000
committerroot <root>2008-05-09 15:52:13 +0000
commit27a989dd483bf314f84f2a0b0f7708ab200acf7b (patch)
treea83fdc13577d2d285bb4ca1641c7f0e1ba75e8c2 /ev.pod
parent2d31af87182b532206cb9522146514bedf7624b7 (diff)
*** empty log message ***
Diffstat (limited to 'ev.pod')
-rw-r--r--ev.pod22
1 files changed, 22 insertions, 0 deletions
diff --git a/ev.pod b/ev.pod
index 2f44e55..0c09ceb 100644
--- a/ev.pod
+++ b/ev.pod
@@ -3001,6 +3001,28 @@ usually more than enough. If you need to manage thousands of C<ev_stat>
watchers you might want to increase this value (I<must> be a power of
two).
+=item EV_USE_4HEAP
+
+Heaps are not very cache-efficient. To improve the cache-efficiency of the
+timer and periodics heap, libev uses a 4-heap when this symbol is defined
+to C<1>. The 4-heap uses more complicated (longer) code but has a
+noticable after performance with many (thousands) of watchers.
+
+The default is C<1> unless C<EV_MINIMAL> is set in which case it is C<0>
+(disabled).
+
+=item EV_HEAP_CACHE_AT
+
+Heaps are not very cache-efficient. To improve the cache-efficiency of the
+timer and periodics heap, libev can cache the timestamp (I<at>) within
+the heap structure (selected by defining C<EV_HEAP_CACHE_AT> to C<1>),
+which uses 8-12 bytes more per watcher and a few hundred bytes more code,
+but avoids random read accesses on heap changes. This noticably improves
+performance noticably with with many (hundreds) of watchers.
+
+The default is C<1> unless C<EV_MINIMAL> is set in which case it is C<0>
+(disabled).
+
=item EV_COMMON
By default, all watchers have a C<void *data> member. By redefining