My experience using loom for a load generator

Alan Bateman Alan.Bateman at oracle.com
Wed May 27 15:46:29 UTC 2020


On 25/05/2020 17:07, Eric Ackermann wrote:
> Good evening,
>
> I applied some optimisations to my load generator and tested again.
> In the easier scenario of 1000 virtual threads, Loom performs approx. 1 % better than Kotlin. In the harder scenario of 100000 virtual threads, Loom performs 2.5 % better than Kotlin. Both improvements are larger than the standard deviation in my tests (1000 virtual threads: std. dev. 0.92% for Kotlin, 0.37% for Loom, 100000 threads: std. dev. 0.69% for Kotlin, 1.91 for Loom).
> I experienced occasional VM crashes when testing both my modified load generator and the version that have I used on Friday, about during every fourth run the JVM died. I was not able to purposefully reproduce these crashes, but I will attach the error log file. I can also provide a crash minidump.
>
If you can run the hs_err file then it might be useful. It would also be 
useful if you could do a run with -XX:-UseContinuationChunks to see if 
it duplicates (this option uses the older implementation and knowing if 
it happens with that option might narrow down the issue).

If you have time, it would be useful if you could summarize what happens 
in these threads. My guess is that they are only blocking once or twice 
(in Future::get). Would I be correct to say that most of the work is 
done on the threads in the Netty thread pool rather than on the virtual 
threads?

-Alan


More information about the loom-dev mailing list