Skip to content
0:00 / 0:00

#1brc#optimization#graalvm

Java, How Fast Can You Parse 1 Billion Rows of Weather Data? • Roy van Rijn • GOTO 2024

GOTO Conferences

1M subscribers • 95 videos on Hallway • Conference channel

YouTube
  • One of the most-watched uploads on GOTO Conferences, a conference or university channel Hallway lists. Nobody has recommended it in the communities yet, so it ranks below community picks.
  • Presented by Roy van Rijn, Developer & Architect

Advanced. Deep dive for people who know the field.

109K views2 years ago

Programming languagesSystems programmingJava and the JVMPerformance and optimizationConcurrency and parallelism

Roy van Rijn shares optimization techniques, parallelism, memory-mapped files, and bit twiddling used to solve the One Billion Row Challenge in Java.

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 linkedin.com/in/royvanrijn github.com/royvanrijn royvanrijn.com Links adventofcode.com x.com/gunnarmorling 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 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 Download slides and read the full abstract here: gotoams.nl/2024/sessions/3164 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 twitter.com/GOTOcon linkedin.com/company/goto- instagram.com/goto_con facebook.com/GOTOConferences #Java #JVM #GraalVM #Parsing #Parallelism #MemoryMappedFiles #SWAR #BitTwiddling #BranchlessCode #MechanicalSympathy #GraalNative #JavaProgramming #AdventOfCode #1BillionRowChallenge #GunnarMorling #RoyvanRijn CHANNEL MEMBERSHIP BONUS Join this channel to get early access to videos & other perks: youtube.com/channel/UCs_tLP3AiwYKwdUHpltJPuA/join 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/newsletter SUBSCRIBE TO OUR CHANNEL - new videos posted almost daily. youtube.com/user/GotoConferences/?sub_confirmation=1

Why it's here

A top upload from a listed channel

GOTO Conferences is on Hallway's list of conference and university channels, and this upload is one of its most-watched talks or lectures. Nobody has recommended it in the communities yet, so it ranks below community picks.