mirror of
https://github.com/layue13/MoonBridge.git
synced 2026-10-26 19:03:49 +00:00
The previous commit moved the I/O loops from NioEventLoopGroup to MultiThreadIoEventLoopGroup. That group's loops queue tasks in a LinkedBlockingQueue instead of the MPSC queue the deprecated groups use, and the relay posts one write-completion task per frame. A JFR profile showed the queue's offer at about 9% of Java CPU samples on burst traffic. NetworkTransport now builds its loops with MPSC queues, and a test pins the queue type. Netty 4.2.2 -> 4.2.18. In the same workload, Buffer.memoryAddress fell from 22% of Java samples to out of the profile and total Java samples on the I/O threads dropped from 1460 to 836. Records for both, plus the negative results (pooled allocator, batched CFB8 encryption) and the leak-detection trade-off, are in benchmarks/results/2026-10-05-event-loop-queue-and-netty.md. The earlier transport record gets a correction note. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KcCN2hYyqmU22X2Xfg1nwe