1 BILLION row challenge in Go - 2.5 Seconds!

  Рет қаралды 8,027

Duane Bester

Duane Bester

Күн бұрын

In this video we look at how we can aggregate 1 billion rows of weather station data in as little time as possible. We start with a naive approach and optimize to go from 1m30 seconds to 2.5 seconds. Using the power of memory mapped files, a custom hash map implementation, and multiple Goroutines.
Implementation: github.com/duanebester/1brc-go
Thanks to Ben Hoyt
benhoyt.com/writings/go-1brc/
00:00 Intro
00:54 Simple Implementation
09:55 Advanced - Using mmap
15:01 Custom integer parsing
22:12 Parallel processing
34:16 Custom hashmap
42:48 Results

Пікірлер: 17
@ishaanrawal9327
@ishaanrawal9327 26 күн бұрын
Hello Duane! This is some amazing stuff man! Keep making these and enlightening us! Thanks a lot!
@duanebester
@duanebester 25 күн бұрын
Thanks, will do!
@kevinkim7068
@kevinkim7068 26 күн бұрын
Thank you for blessing us🙏
@duanebester
@duanebester 26 күн бұрын
Any time
@jonathanchapa4513
@jonathanchapa4513 26 күн бұрын
As always, banger video! 🤤
@duanebester
@duanebester 26 күн бұрын
You already know!
@cariyaputta
@cariyaputta 14 күн бұрын
Thanks for sharing.
@duanebester
@duanebester 13 күн бұрын
You bet
@ashersamuel958
@ashersamuel958 22 күн бұрын
Great content, but the autopilot is taking the fun out of it
@duanebester
@duanebester 22 күн бұрын
Great point. Will disable going forward!
@eZe00
@eZe00 25 күн бұрын
Nice video. However, you are calculating the average while you are meant to keep track of the mean of all the values. That means having an array in the struct to keep track of all the values seen. Subscribed!
@duanebester
@duanebester 25 күн бұрын
I think “mean” in this case is the arithmetic mean, which is the same as the average; summing the numbers in the set and dividing by total count (per station). My output matches the baseline output so I feel pretty confident in the implementation
@renkinjutsu01
@renkinjutsu01 22 күн бұрын
It takes me 1 minute just to cat the file to /dev/null
@duanebester
@duanebester 21 күн бұрын
Yep the aggregation calculations are what increases the time drastically
@keemykim92
@keemykim92 26 күн бұрын
How Fast can Python Parse 1 Billion Rows of Data?
16:31
Doug Mercer
Рет қаралды 131 М.
I Rewrote This Entire Main File // Code Review
16:08
The Cherno
Рет қаралды 83 М.
ОДИН ДОМА #shorts
00:34
Паша Осадчий
Рет қаралды 5 МЛН
New Go Billion Row Challenge w/ Great Optimizations | Prime Reacts
39:42
Why Doesn’t Everyone Use This Animation???
23:59
Theo - t3․gg
Рет қаралды 79 М.
1 billion row challenge in Rust using Apache Arrow
9:12
Josiah Parry
Рет қаралды 3,7 М.
1 Billion Rows Challenge
8:58
ThePrimeTime
Рет қаралды 109 М.
Testcontainers have forever changed the way I write tests
12:11
Dreams of Code
Рет қаралды 89 М.
98% Cloud Cost Saved By Writing Our Own Database
21:45
ThePrimeTime
Рет қаралды 228 М.
Solid Programming - No Thanks
32:00
ThePrimeTime
Рет қаралды 197 М.
JavaScript Visualized - Event Loop, Web APIs, (Micro)task Queue
12:35
The standard library now has all you need for advanced routing in Go.
13:52
You might not need useEffect() ...
21:45
Academind
Рет қаралды 131 М.
Luck decides my future🍀😅 #shorts #viral #funny
0:13
Uma NOOB
Рет қаралды 15 МЛН
Мы играли всей семьей
0:27
Даша Боровик
Рет қаралды 2 МЛН
这个白天使简直坏到离谱。#天使 #小丑 #超人不会飞
0:56
NEVER MESS WITH MY DEMON MOM #shorts
0:59
The McCartys
Рет қаралды 8 МЛН
WOULLL!
0:36
F L U S C O M A N I A
Рет қаралды 48 МЛН