… | |
… | |
418 | starting a watcher (without re-setting it) also usually doesn't cause |
418 | starting a watcher (without re-setting it) also usually doesn't cause |
419 | extra overhead. A fork can both result in spurious notifications as well |
419 | extra overhead. A fork can both result in spurious notifications as well |
420 | as in libev having to destroy and recreate the epoll object, which can |
420 | as in libev having to destroy and recreate the epoll object, which can |
421 | take considerable time and thus should be avoided. |
421 | take considerable time and thus should be avoided. |
422 | |
422 | |
423 | All this means that, in practise, C<EVBACKEND_SELECT> can be as fast or |
423 | All this means that, in practice, C<EVBACKEND_SELECT> can be as fast or |
424 | faster then epoll for maybe up to a hundred file descriptors, depending on |
424 | faster than epoll for maybe up to a hundred file descriptors, depending on |
425 | the usage. So sad. |
425 | the usage. So sad. |
426 | |
426 | |
427 | While nominally embeddable in other event loops, this feature is broken in |
427 | While nominally embeddable in other event loops, this feature is broken in |
428 | all kernel versions tested so far. |
428 | all kernel versions tested so far. |
429 | |
429 | |