
Episode #411
Pauseless Java: Inside Azul's C4, Falcon and ReadyNow
An airhacks.fm conversation with Simon Ritter about: Azul Zulu as a straight build of openJDK versus Azul Zing/Prime as the commercial high-performance JVM, improving Java performance without changing application code, C4 the Continuously Concurrent Compacting Collector , fully concurrent and compacting pauseless garbage collection, reaching a global safe point and millisecond-level pauses, a loaded-value read barrier intercepting every object read with a two-instruction test-and-jump, using bits in the object header limiting heaps to 20 terabytes, the one and a half day garbage collection pause anecdote on a terabyte-scale heap, latency-sensitive workloads like high-frequency trading and ad brokering, ZGC as a garbage collector heavily based on the published C4 work, Falcon a JIT compiler based on LLVM replacing HotSpot's C2 , contributing the JIT wrapper and garbage collector integration back to LLVM , speculative optimizations and deoptimizations, throughput gains around 53 percent for Kafka and 30 percent for Cassandra , doing more with less to reduce cloud costs, ReadyNow capturing a profile of loaded classes, initialized classes, profiling data and compiled methods to reach about 98 percent of steady-state performance at startup, the Cloud Native Compiler offloading JIT compilation to a centralized cloud service, the Optimizer Hub storing profiles locally or centrally, soft real-time versus hard real-time JVMs, the Real-Time Specification for Java and immortal memory, garbage-collector-less programming, tiered compilation with C1 client and C2 server compilers, virtual threads and platform threads in relation to garbage collector threads, Azul Vega hardware history, Log4Shell as a potential security check in the compiler service Simon Ritter on twitter: @speakjava

