Engineering
Performance work across the entire execution stack.
The useful boundary is rarely “the Java code”. Latency emerges from architecture, allocation, compilation, contention, cache topology, kernel behaviour and workload shape conspiring together like a committee.
HotSpot and JIT behaviour
C1/C2 compilation, inlining, escape analysis, deoptimisation, safepoints, code shape and profiling feedback.
Allocation and object lifetime
Allocation-rate analysis, GC pressure, off-heap memory, FFM API, MemorySegment and deterministic lifetime control.
JMM and lock-free design
VarHandles, acquire/release semantics, SPSC/MPSC structures, contention reduction, cache-line padding and false sharing.
Hardware-aware execution
Linux perf, CPU affinity, NUMA, IRQ affinity, ARM/x86 differences, cache coherence and data locality.
Financial runtime architecture
Event sourcing, payment ledgers, compute engines, in-memory processing, Kafka-backed systems and consistency-sensitive workflows.
Java and Rust hot paths
Binary protocols, UDP, QUIC, shared-memory IPC, zero-copy transport and carefully contained unsafe code.
Performance toolchain
Production and runtime analysis: async-profiler, Java Flight Recorder, Datadog Profiler, Linux perf, flamegraphs and JITWatch.
Controlled measurement: JMH, perf stat, perf record, perfasm and allocation profiling.
Method: establish the workload, measure distributions rather than averages, isolate the limiting resource, validate causality and re-measure under representative load. Revolutionary, apparently.