Skip to content

priyankshah217/1brc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

1BRC

Attempt Number Approach Execution Time Diff Commit
1 Naive Implementation: Read temperatures into a map of cities. Iterate serially over each key (city) in map to find min, max and average temperatures. 6:13.15
2 Evaluate each city in map concurrently using goroutines. 4:32.80 -100.35 8bd5f43
3 Remove sorting float64 slices. Calculate min, max and average by iterating. 4:25.59 -7.21 830e5df
4 Decouple reading and processing of file content. A buffered goroutine is used to communicate between the two processes. 5:22.83 +57.24 2babf7d
5 Instead of sending each line to the channel, now sending 100 lines chunked together. Also, to minimise garbage collection, not freeing up memory when resetting a slice. 3:41.76 -161.07

About

Solution to One Billion Rows Challenge in Golang.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 100.0%