I/O-bound endpoint (/io, Mono.delay(300ms)), concurrency=600, median of 5 trials, 2 vCPU sandbox, Spring Boot 4.1.1 / JDK 25.0.4.1 ================================================================================================================================== webflux (netty) : total=600 success=600 wall=569ms p50=455ms p99=510ms Mono.delay() never parks a thread -- the event loop schedules a timer callback and goes back to the selector loop immediately. A single trial at this concurrency swung 50%+ between back-to-back runs on this shared sandbox -- bigger than the gap being measured -- so the number above is the median of 5 independent trials, not one shot. Even so it lands in the same range as virtual threads' /io result in ../virtual-threads-benchmark/docs/output/01-io-bound-benchmark.txt (a single trial): treat any single-run percentage gap between WebFlux and virtual threads here as noise-level, not a reliable ranking.