~/talk

Performance&Scale Domain Oriented Objects vs Tabular Data Structures

Talkat Voxxed Days Bucharest 2024 · 2024-03-27..03-29· [databases]
slides:none on file

Compares row‑oriented objects (records, boxed Integers, JDK collections) to columnar/tabular approaches and shows concrete memory wins using Java Collections, streams, Eclipse Collections, EC DataFrame, and the jaw Java object layout tool. Synthetic CSV workloads of 1M, 10M and 25M rows (2.2GB) reveal boxed Integer objects ~368B vs primitives ~72B (~5x), JDK HashSet ~640B vs Eclipse primitive set ~120B, and per‑row cost dropping from ~56B to ~40B after pooling and a twin date compression. A CSV run at 25M rows forces Jackson OOM; the columnar+pooling solution works and approaches raw CSV footprint.

AI-written summary · about

  1. 0:00Domain vs tabular data structures
  2. 2:08Eclipse Collections origins
  3. 6:02Memory-optimized data structures in Java
  4. 9:50Simulating big data in Java
  5. 13:46Boxed vs primitive memory impact
  6. 17:21Mutable vs immutable sets memory
  7. 20:34Immutable sets optimizations
  8. 23:50Specialized Java list implementations
  9. 28:04Java Streams vs Eclipse Collections vs Data Frames
  10. 31:55Object-oriented to tabular data
  11. 36:33Mutable vs immutable memory impact
  12. 39:25Pooling for large datasets
  13. 41:12Data understanding for optimization
  14. 45:53Row vs column data structures
  15. 48:04Memory compression techniques
  16. 50:53Java memory optimization future
  17. 55:11Resources and code
  18. 55:52Key takeaways
~/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.