r/java 22h ago

Vert.x Event-Loop vs Virtual Threads: Jactl Suspend/Resume Benchmark

https://jactl.io/blog/2026/09/02/jactl-virtual-threads-benchmark

The article benchmarks Jactl script execution with differing number of blocking operations comparing throughput with Jactl built-in suspend/resume on Vert.x Event-Loops and throughput with Jactl on Virtual Threads. The benchmarks are run on both Java 21 and Java 25 with some surprising (to me at least) results.

18 Upvotes

16 comments sorted by

View all comments

22

u/s0ftware-dev 21h ago

TLDR virtual threads are better. 

-5

u/jaccomoc 21h ago

But only on Java 25 and not by as much as I thought they would be.

I was frankly surprised at the difference between Java 21 and Java 25.

14

u/Neful34 21h ago

Nah if you follow a bit the java youtube channel they explained a lot about the optimizations and the issues they had with virtual threads in java 21, and the optimization they did in java 25. I also recall a recent talk from netflix discussing about it too

5

u/jaccomoc 20h ago

I know that they fixed the OS thread pinning issues and that there are always some performance improvements but the the improvement for scripts with multiple blocking operations was a lot more significant than I expected. Or maybe what I should say is that the performance on Java 21 when a script does multiple blocking operations with virtual threads was a lot worse than I expected.