> Ported from 7ac9ca128885c5dd561e6fbd6bbeaddb86d6264c to the latest upstream > fibers branch. Adapted to the current API which renamed > implRegister/implDeregister to implStartPoll/implStopPoll and added > Mode/EventFD/Cleaner/PollerGroup architecture.
Francesco Nigro has updated the pull request incrementally with three additional commits since the last revision: - Fix duplicate server creation in poller benchmark JMH's VIRTUAL executor calls @State(Scope.Benchmark) setup() once per worker thread, spawning 100 platform server threads each spinning on selectNow(). Guard with AtomicBoolean so only one server is created. - Use direct ByteBuffers and SocketChannel in poller benchmark Switch client connections from Socket+InputStream/OutputStream with heap byte[] to SocketChannel with direct ByteBuffers, eliminating internal heap-to-direct buffer copies on every read/write. Also use direct ByteBuffers on the server side for accepted connections. - Use JMH virtual thread executor for poller benchmark Switch from spawning a new VT per benchmark call to using JMH's built-in virtual thread executor (-Djmh.executor=VIRTUAL). The benchmark method now runs directly on a persistent VT, eliminating VT creation/join overhead per operation and providing a tighter measurement of the poller registration path. ------------- Changes: - all: https://git.openjdk.org/loom/pull/223/files - new: https://git.openjdk.org/loom/pull/223/files/7e36c5fe..7d0a0d4c Webrevs: - full: https://webrevs.openjdk.org/?repo=loom&pr=223&range=04 - incr: https://webrevs.openjdk.org/?repo=loom&pr=223&range=03-04 Stats: 61 lines in 1 file changed: 7 ins; 23 del; 31 mod Patch: https://git.openjdk.org/loom/pull/223.diff Fetch: git fetch https://git.openjdk.org/loom.git pull/223/head:pull/223 PR: https://git.openjdk.org/loom/pull/223
