> 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

Reply via email to