On 2013-04-04, at 7:23 AM, Mikael mikael.rcv@gmail.com wrote:
https://mercure.iro.umontreal.ca/pipermail/gambit-list/2005-August/000367.ht...
The ML web mirror's attachment downloads is currently broken for old ML posts, believed it worked two years ago, emailed the admin anyhow.
Queried Mario about it and he subscribed 2005-08-20 20:16, so he missed it by about 34 hours :)
So if you have it feel free to re-post,
Thanks! Mikael
Here is what I could find.
Marc
Begin forwarded message:
From: Adam Langley alangley@gmail.com Subject: [gambit-list] Edge triggered I/O with libevent Date: 19 August, 2005 9:54:22 AM EDT To: gambit-list@iro.umontreal.ca
Gambit uses the select call on POSIX systems to multiplex IO operations. This is fine for small numbers of file descriptors, but falls apart quickly with large numbers[1].
libevent[2] is a wrapper library around a number of modern IO multiplexing systems (epoll on Linux, kqueue on the BSDs as well as poll and select).
Attached is a patch which converts Gambit to using edge triggered I/O with epoll and libevent. This also requires a patch (attached) of libevent since the standard distribution doesn't include edge triggering support and the upstream appears to be on holiday.
(epoll is required because I don't have a BSD box on which to develop edge triggering support for kqueue)
This patch (for Gambit) preprocesses away to nothing unless --enable-libevent is passed to the configure script. (Note that, since this patches the configure.ac script, you'll need to run autoconf to regenerate).
I hope I've not broken anything, but at this stage I've only tested that the console and tcp ports work.
This patch (in the future) should also allow people, who write programs which use socket calls directly, to integrate into the main event loop at some point.
Testing is more than welcome and, if you find a form of IO which is broken, please email me.
[1] http://monkey.org/~provos/libevent/libevent-benchmark2.jpg [2] http://monkey.org/~provos/libevent/
-- Adam Langley agl@imperialviolet.org http://www.imperialviolet.org (+44) (0)7906 332512 PGP: 9113 256A CC0F 71A6 4C84 5087 CDA5 52DF 2CB6 3D60
Gambit-list mailing list Gambit-list@iro.umontreal.ca http://mailman.iro.umontreal.ca/mailman/listinfo/gambit-list