#412 Pauseless Java: Inside Azul's C4, Falcon and ReadyNow
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