I'm so happy that Patrick explains so well how Spring AOT works. This is so important to understand exactly how performance can be improved in Spring! Loved this presentation. Great Work!
Thanks for the talk. There's no replacement for seeing actual numbers so you can decide if it's actually worth the effort for your use case to do any of these things. I think this helped me to just be "at peace" with the fact that there are no magic silver bullets. Everything has a trade-off. For most use cases standard Java 21 with default Spring boot config will be just fine. And if you really need extreme levels of fast startup time, small binary size and low memory footprint for microservices... just use a different language like Go or Rust.
Latency is definitely the more important thing. Not sure who can’t afford to wait some seconds to start up your app. I almost jumped on the hype train or at least was going to try it out. But I guess I won’t.
Good one. We still have limitations on how low we can go with cpu and memory with these DB driver codes residing inside the app process is limiting all optimization efforts. So I tried removing DB drivers and the entire DAO layer of my app is starting under 400 millis. I have many use cases where we get low or sporadic traffic. I can go serverless with this ultra fast startup low cpu memory for these use cases. What do u think about abstracting out DB layer from the application?
Happy about this stuff, very good talk. But tbh: It is such a pain when you actually want to do all this stuff in a real world app... and the already mentioned tradeoffs => i still think this is not production ready for many use cases. And too much overhead/cumbersome configuration needed. Way to go, but just a reminder: Provide value to your customers, do not optimize for 10ms better startup time, balance out this stuff properly!
I'm so happy that Patrick explains so well how Spring AOT works. This is so important to understand exactly how performance can be improved in Spring! Loved this presentation. Great Work!
Thanks for the talk. There's no replacement for seeing actual numbers so you can decide if it's actually worth the effort for your use case to do any of these things. I think this helped me to just be "at peace" with the fact that there are no magic silver bullets. Everything has a trade-off. For most use cases standard Java 21 with default Spring boot config will be just fine. And if you really need extreme levels of fast startup time, small binary size and low memory footprint for microservices... just use a different language like Go or Rust.
44:25 I’m very surprised about how bad is the response time on GraalVM’s Native Images. I think a very little is talked about this tradeoff.
Latency is definitely the more important thing. Not sure who can’t afford to wait some seconds to start up your app.
I almost jumped on the hype train or at least was going to try it out. But I guess I won’t.
Very important stuff, thanks for pointing that out!
@@god3054in what scenarios, besides “serverless functions” would a few seconds startup matter? You have green/blue deployments in the other cases
Good one. We still have limitations on how low we can go with cpu and memory with these DB driver codes residing inside the app process is limiting all optimization efforts. So I tried removing DB drivers and the entire DAO layer of my app is starting under 400 millis. I have many use cases where we get low or sporadic traffic. I can go serverless with this ultra fast startup low cpu memory for these use cases. What do u think about abstracting out DB layer from the application?
Great talk. Thank you for your insights.
Happy about this stuff, very good talk. But tbh: It is such a pain when you actually want to
do all this stuff in a real world app... and the already mentioned tradeoffs => i still think this is not production ready
for many use cases. And too much overhead/cumbersome configuration needed. Way to go,
but just a reminder: Provide value to your customers, do not optimize for 10ms better startup time,
balance out this stuff properly!
Very informative talk. Thanks a lot for sharing