Overview
Explore an in-depth presentation on optimizing Java performance for parsing 1 billion rows of weather data. Dive into advanced techniques including parallelism, memory-mapped files, SWAR (SIMD Within A Register), bit twiddling, branchless code, mechanical sympathy, and Graal native compilation. Learn how to dramatically improve processing speed from over 4 minutes to under 2 seconds using various optimization strategies. Discover the power of Java's performance capabilities through practical examples and code changes, including unconventional approaches like using sun.misc.Unsafe. Gain insights into JVM selection, Graal native image compilation, and their impact on execution speed. Follow the speaker's journey of experimentation and optimization, uncovering valuable lessons in high-performance Java programming along the way.
Syllabus
Intro
The challenge
Watch, learn, adopt, experiment
Mechanical sympathy
Temperature as integer
Memory mapped files
Getting unsafe
SWAR
Stringless
Branchless programming
Parse the temperature
Keeping track
Which JVM?
Graal native-image
Summary
Results
Outro
Taught by
GOTO Conferences