This presentation was recorded at GOTO Amsterdam 2024. #GOTOcon #GOTOams
gotoams.nl
Roy van Rijn - Experienced Developer & Architect, Robotics Enthusiast & Hobby Mathematician @royvanrijn
ORIGINAL TALK TITLE
How Fast Can You Parse a File with 1 Billion Rows of Weather Data Using Java?
RESOURCES
x.com/royvanrijn
/ royvanrijn
github.com/roy...
royvanrijn.com
Links
adventofcode.com
x.com/gunnarmo...
www.morling.dev
ABSTRACT
Last January a challenge was posted online by Gunnar Morling: How fast can you parse a file with 1 billion rows of weather data using Java?
Little did I know this deceivingly simple question would lead me down a path that taught me all about: parallelism, memory mapped files, SWAR techniques (SIMD as a register), bit twiddling, branchless code, mechanical sympathy, Graal native compilation and finally... I even turned to the dark side: using sun.misc.Unsafe.
Join me in this deep dive where I'll explain all the code changes and tricks that took me from the reference implementation which processes the billion records in 4+ minutes, to processing everything in under 2 seconds.
Who knew Java could be this fast? [...]
TIMECODES
00:00 Intro
01:49 The challenge
06:07 Watch, learn, adopt, experiment
08:00 Mechanical sympathy
09:32 Temperature as integer
10:37 Memory mapped files
11:54 Getting unsafe
13:31 SWAR
17:22 Stringless
18:18 Branchless programming
20:35 Parse the temperature
30:14 Keeping track
36:22 Which JVM?
37:21 Graal (native-image)
39:38 Summary
40:50 Results
42:00 Outro
Download slides and read the full abstract here:
gotoams.nl/202...
RECOMMENDED BOOKS
Monica Beckwith • JVM Performance Engineering • amzn.to/3zuJ7Ig
Scott Oaks • Java Performance • amzn.to/4eNhlH4
Trisha Gee, Kathy Sierra & Bert Bates • Head First Java • amzn.to/3k59BJ6
Trisha Gee & Kevlin Henney • 97 Things Every Java Programmer Should Know • amzn.to/3kiTwJJ
/ gotocon
/ goto-
/ goto_con
/ gotoconferences
#Java #JVM #GraalVM #Parsing #Parallelism #MemoryMappedFiles #SWAR #BitTwiddling #BranchlessCode #MechanicalSympathy #GraalNative #JavaProgramming #AdventOfCode #1BillionRowChallenge #GunnarMorling #RoyvanRijn
Looking for a unique learning experience?
Attend the next GOTO conference near you! Get your ticket at gotopia.tech
Sign up for updates and specials at gotopia.tech/n...
SUBSCRIBE TO OUR CHANNEL - new videos posted almost daily.
www.youtube.co...
Негізгі бет Java, How Fast Can You Parse 1 Billion Rows of Weather Data? • Roy van Rijn • GOTO 2024
No video
Пікірлер: 51