|
From: Gustaf N. <ne...@wu...> - 2016-12-05 09:56:37
|
Dear all, Is there a good reason for Tcl to support multiple native event handling interfaces rather than moving towards an abstraction library? A good candidate is libuv [1], which is the hottest "successor" of libev due to its windows support (IOCP) ... and probably due to its usage in nde.js. libuv uses kqueue, (e)poll, IOCP, eventfd, etc. where possible; .... and it is based on a MIT-style license. By using such a library, there is a hope to reduce the number of separate source code variants and ifdefs in the Tcl code base and reduce maintenance costs. The biggest shortcoming of the current event handling implementation in Tcl is the usage of select() with the FD_SETSIZE of 1024; for most Tcl applications there won't be a noticeable performance difference by using the more "modern" kernel interfaces, which perform only measurably better, when applications have thousands of FDs open and/or performing character-wise notifications. Addressing the shortcomings of select() is certainly worthwhile, but the question is whether we want to test all these variants on all platforms, with sometimes broken implementations is some releases, or to delegate this to a specialized library. -g [1] https://github.com/libuv/libuv Am 05.12.16 um 02:14 schrieb Lucio Andrés Illanes Albornoz: > I cannot test this code in any case as I do not have access to a Mac OS X > installation. I'd therefore very much appreciate feedback from tcl-core Mac > OS X users. > |