| are you using an already-existing HTTP engine, like Jetty or Tomcat? Yes, Javalin is built on top of Jetty. - how do virtual threads fit into a web framework? Most JVM web frameworks (Jetty included) have a thread based request lifecyle (one thread handles one request from beginning to end). The java.lang.Threads are extremely expensive (~1mb memory), while Virtual Threads are very cheap (~0mb memory). We also have another ThreadPool for JSON streaming, and one for writing async responses. Using Virtual Threads for these things reduces overall memory pressure. - do virtual threads make debugging more difficult? (A more general JVM question, I suppose) Not that I know, but I've never used this in production myself. - any performance / readability benefit, or just a coolness factor? The alternative here is java.lang.Threads, so primarily the memory footprint. There is no readability difference. When developing, you don't see this at all. |