Hi! I just made a libev-4.10 prerelease:
http://data.plan9.de/libev-4.09.tar.gz the release highlights include: - ev_async_send, instead of approaching 1 syscall per iteration under load, now approaches 0 syscalls overhead under load, as extra syscalls will only be issued when the loop is blocked. - libev is now much more robust vs. low-resolution clocks, as discussed on the list. thanks for everybody who contributed by analyzing or testing! - libev can now be compiled without -lm (specifically, without floor). - libev is now using libecb for low-level gcc trickery. especially the first change (ev_async) could be the source of all kinds of race bugs, so if anybody uses async watchers heavily and gives this release a try,. this would be especially great! enjoy! the full changes are: - correct backend_fudge for most backends, and implement a windows specific workaround to avoid looping because we call both select and Sleep, both with different time resolutions. - document range and guarantees of ev_sleep. - document reasonable ranges for periodics interval and offset. - rename backend_fudge to backend_mintime to avoid future confusion :) - change the default periodic reschedule function to hopefully be more exact and correct even in corner cases or in the far future. - do not rely on -lm anymore: use it when available but use our own floor () if it is missing. This should make it easier to embed, as no external libraries are required. - strategically import macros from libecb and mark rarely-used functions as cache-chold (saving almost 2k code size on typical amd64 setups). -- The choice of a Deliantra, the free code+content MORPG -----==- _GNU_ http://www.deliantra.net ----==-- _ generation ---==---(_)__ __ ____ __ Marc Lehmann --==---/ / _ \/ // /\ \/ / [email protected] -=====/_/_//_/\_,_/ /_/\_\ _______________________________________________ libev mailing list [email protected] http://lists.schmorp.de/cgi-bin/mailman/listinfo/libev
