Fix an interaction between the switch interval and libuv that could introduce...
Fix an interaction between the switch interval and libuv that could introduce delays processing large batches of callbacks. Specifically, a .3 (idle signal timer) delay as UV_RUN_ONCE would pause if there was no other active timer or IO watcher. Now, if there are still batches of callbacks to run, we explicitly use UV_RUN_NOWAIT to only poll for IO and queue callbacks without waiting at all. This gets the time for the synthetic greenlet-launching benchmarks to match libev-cffi and be close to libuv-cext. Fixes #1493
Showing
Please register or sign in to comment