~/talk

Conquering a Billion Rows with Modern Java Concurrency

Talkat JCON EUROPE 2026 · 2026-04-20..04-23· [java, concurrency]
links:none on file
slides:none on file

Takes the 1 Billion Row Challenge from a 77s one-thread baseline on cloud hardware and targets 8 cores using only the JDK (no Unsafe, no external libs) and shows concrete wins: replace String.split and Double.parse, move to byte-based parsing, use chunked ForkJoin and RandomAccessFile/mmap to scale to 8–16 threads, profile with async-profiler and Linux perf stat, and drop to ~11s end-to-end; a final open-address hash table plus Epsilon GC hits ~6–7s and the approach proves practical and reproducible.

AI-written summary · about

  1. 0:00Introduction and motivation
  2. 6:35Baseline solution analysis
  3. 13:18Parallel processing attempts
  4. 18:23Fork join pool approach
  5. 26:35Profiling and performance bottlenecks
  6. 31:16Optimizing string splitting
  7. 34:21Replacing parseDouble
  8. 36:51Using integers instead of doubles
  9. 38:15Mutable state for performance
  10. 39:59Avoiding strings entirely
  11. 41:26Final solution with fork join pool
  12. 45:46Memory optimization with Epsilon GC
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.