Can Java cold-start?

To answer this question we really need to define what is meant with cold-start. In this blog series we will explore several ways to look at this problem as illustrated by the list below.

  1. Time it takes for the Java process to be up and running
  2. Time it takes for your Java container to be up and running
  3. Time it takes for your server-less Java process to be up and running

We now have several ways of looking at what cold-start is? But what about a Java process? Can we also look at that in different ways? Absolutely, for many organization when they talk about a Java process they would mean a Spring Boot application. So which frameworks, libraries, servers and tools are we going to have a look at? See below for the list we will explore.

  1. Core Java SE APIs
  2. Spring Boot
  3. WildFly
  4. Quarkus
  5. Tomcat
  6. Piranha
  7. Micronaut
  8. GraalVM
  9. Helidon
  10. Spring Native
  11. Glassfish
  12. Payara
  13. Vert.X
  14. OpenLiberty

So how are we going to determine our numbers? For each entry in the list above we will write a HTTP endpoint that will return 'Hello World' when invoked. And measure how long it takes for the process to be up and running.

Posted September 22nd, 2021