Performance and Scale Domain-Oriented Objects vs Tabular Data Structures Table of Contents Title Introduction The Problem - 2004 The Problem after 2004 The (Simulated) Problem - Today The Problem - CSV Data to Load Measuring Memory Cost Memory Considerations Memory - Boxed vs. Primitive Memory Footprint - Boxed vs. Primitive Memory Footprint - Boxed vs. Primitive Sets Memory Footprint - Boxed vs. Primitive Sets Output Mutable vs. Immutable Sets Sweating the Small Stuff Exploring Three Libraries Conference Explorer Conference Explorer - Memory Cost - Mutable vs. Immutable Conference Explorer - Memory Cost - Pooling What is Pooling? Pooling Row Data - The Pools Pooling Row Data - Using the Pools Rows vs. Columns Conference Explorer - Memory Fine Tuning Conference Explorer - Memory Cost - 25 Million Conferences What will the future bring? Summary Appendix @RMehmandarov, @TheDonRaab