See Spring4-jvm
vs Quarkus3-jvm
I've hit a similar problem in the past, see https://redhatperf.github.io/post/method-data-scalability/ where, in production, a Spring application overloaded by an big amount of load (which is our case with wrk during warmup) leave the JIT C2 threads in Spring to fight for CPU time competing with the tomcat http threads (same here?), causing the C2 compilations to take much longer and running the Java code in sub-optimal state (Tier 3), prone to "false sharing" issues.
See https://developers.redhat.com/articles/2023/09/29/how-we-solved-hotspot-performance-puzzle for a similar topic (although not due to contention).
See Spring4-jvm
vs Quarkus3-jvm
I've hit a similar problem in the past, see https://redhatperf.github.io/post/method-data-scalability/ where, in production, a Spring application overloaded by an big amount of load (which is our case with
wrkduring warmup) leave the JIT C2 threads in Spring to fight for CPU time competing with the tomcat http threads (same here?), causing the C2 compilations to take much longer and running the Java code in sub-optimal state (Tier 3), prone to "false sharing" issues.See https://developers.redhat.com/articles/2023/09/29/how-we-solved-hotspot-performance-puzzle for a similar topic (although not due to contention).