Skip to content

Instantly share code, notes, and snippets.

@AdamBien
Last active June 4, 2025 23:16
Show Gist options
  • Save AdamBien/74fcde9b08475112003c772ed8384462 to your computer and use it in GitHub Desktop.
Save AdamBien/74fcde9b08475112003c772ed8384462 to your computer and use it in GitHub Desktop.
135thAirhacksQ&A.md
@lprimak
Copy link

lprimak commented May 29, 2025

Hi, Adam,

I have some feedback / followup commends and questions to your last AirHacks Episode.
Great job By-the-way!

Do you have an updated benchmark for RequestScoped vs. EJB? I know Quarkus doesn't have EJBs, but I want to know if I need to wait for "EJB Replacement" for performance in JVM Quarkus, or is RequestScoped currently good enough without optimizations such as pooling and max concurrency that are still only available in EJB currently?
I did see you mention my question in the latest air hacks but really didn’t answer it. Do you want to elaborate a bit? Thank you!

@lprimak
Copy link

lprimak commented May 29, 2025

Hi, Adam,

I have lots of Jakarta EE code that really can’t be migrated to Quarkus and really doesn’t need fast startup etc.

Would like to update you that I’m working on Payara so startup I almost as good as Quarkus.
Deployment is certainly just as fast as Quarkus, Project Leyden is a game changer here, and with JDK 24,
startup performance is almost as good as Quarkus is now.

Advantage of Quarkus is not as spectacular now as it was because Java is getting better in general and optimization are getting spread through all Java products.
Reflection is no longer a "no-go" for performance with Project Leyden.
Franz’ optimization work is paying off for all Java apps
Markus Karg JVM and Jersey optimization is out with Java 24 and at least doubled API performance for all frameworks.
I also worked with Payara to optimize their stuff to match Quarkus app deploy performance. Especially with Leyden.

@lprimak
Copy link

lprimak commented May 29, 2025

Hi, Adam,

Did you hear about Project jtaccuino which is Jupyter notebook in Java and it’s awesome. Written in JavaFX.
Another way Python is no longer the "only way" to do data science.

@OndroMih
Copy link

OndroMih commented Jun 4, 2025

Hi @AdamBien , @lprimak,

I tried Payara Micro with 24, it doesn't start on Java 24. On Java 21, with clustering disabled, starts the same thing in 8 seconds.

Embedded GlassFish runs on Java 24 and starts a REST app in 5 seconds. Running it with Project Leyden's AOTMode on Java 24 fails, so it's not possible to take advantage of it yet.

Quarkus starts the same thing in 1 second, on Java 24. So, clearly, Quarkus still starts much faster than Payara or GlassFish. Hopefully Payara or GlassFish will be able to take advantage of Project Layden soon, but we're not there yet.

Sometimes startup times matter, sometimes not. @AdamBien, where do you think startup times matter, and where it's better to use standards like Jakarta EE and MicroProfile, even if the startup time is a few seconds longer?

@lprimak
Copy link

lprimak commented Jun 4, 2025

Payara will have JDK 24 support with the next release (6.2025.6 I believe), GlassFish should have it currently as well.

I have been running tests on my own branch of Payara that speeds up deployment times by caching with Jandex.
My assumption is that Leyden speedups will be on par or better than the Spring Boot that are there now,
but I haven't tested those yet.

When all of this "comes together", startup times will be much improved for both Payara and GlassFIsh and should be at least comparable with Quarkus, but obviously not proven quite yet.

If (when?) my branch with Jandex / Payara will be viable, deploy performance will be improved 2-5X current, even without Leyden.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment