![]() ![]() Use these measures as an inspiration to get a general idea about what differences between startup time might be. This is of course not the same as a full blown application running in production on specialized hardware. These measures have been conducted on specific hardware (my laptop) using specific test scripts on specific though minimal implementations (but comparable). I’ve looked at both JIT and AOT (wherever this was possible) and ran the code on different JVMs. In this blog post I’ll provide some measures which I did on start-up times of minimal implementations of several frameworks and an implementation with only Java SE. You will not achieve start-up times near AOT start-up times but by choosing the right framework and JVM, it can still be acceptable. If you need specific libraries which cannot be natively compiled (not even when using the Tracing Agent), using Java the old-fashioned JIT way is also an option. Which framework produces the native executable which is fastest to start? AOT code, although it is fast to startup, still shows differences per framework. Spring will probably follow with version 5.3 Q2 2020. Several frameworks already support this out of the box such as Helidon SE, Quarkus and Micronaut. When you want to reduce startup time, an obvious thing to look at is ahead of time (AOT) compilation such as provided by an early adopter plugin of GraalVM. When running your code using a ‘serverless’ framework such as for example Knative or FnProject, scaling and getting the first instance ready is faster. It can for example reduce the amount of time a rolling upgrade of instances takes and reduce build time thus shortening development cycles. When developing microservices, a fast startup time is useful.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |