Skip to content

1๏ธโƒฃ๐Ÿ๐ŸŽ๏ธ The One Billion Row Challenge - .NET Edition

Notifications You must be signed in to change notification settings

praeclarum/1brc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

36 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

1๏ธโƒฃ๐Ÿ๐ŸŽ๏ธ The One Billion Row Challenge - .NET Edition

The One Billion Row Challenge (1BRC Original Java Challenge) is a fun exploration of how far modern .NET can be pushed for aggregating one billion rows from a text file. Grab all your (virtual) threads, reach out to SIMD, optimize your GC, or pull any other trick, and create the fastest implementation for solving this task!

Results

Tested on a 3GHz 10-core Xeon W iMac Pro 2017.

# Result (m:s.ms) Language Implementation Runtime Submitter
1. 00:02.68 F# Multithreaded.fs net8/osx-x64 Frank Krueger
2. 00:02.69 C# buybackoff/1brc net8/osx-x64 Victor Baybekov
3. 00:03.62 C# pedrosakuma/1brc net8/osx-x64 Pedro Travi
4. 00:04.80 C# Vake93/1brc net8/osx-x64 Vishvaka Ranasinghe
5. 00:06.04 C# hexawyz/OneBillionRows net8/osx-x64 Fabien Barbier
6. 00:06.55 C# bbronisz/1brc net8/osx-x64 Beniamin
7. 00:30.81 C# F0b0s/1brc net8/osx-x64 Sergey Popov
8. 00:51.76 F# LexedAndHashed.fs net8/osx-x64 Frank Krueger
9. 02:53.86 C# KristofferStrube/Blazor1brc net8/wasm Kristoffer Strube
10. 03:17.70 Java Java Baseline java21 Gunnar Morling
11. 03:18.26 F# Baseline.fs net8/osx-x64 Frank Krueger

Running

dotnet run measurements-20.txt

macOS Intel 64-bit Optimized

dotnet publish -c Release -r osx-x64 --self-contained
time bin/Release/net8.0/osx-x64/publish/1brc measurements.txt

Profiling

dotnet-trace collect --duration 00:00:10 -- bin/Release/net8.0/osx-x64/publish/1brc measurements.txt
dotnet-trace convert 1brc_yyyymmdd_hhmmss.nettrace --format Speedscope

Drag the resulting json file on to https://www.speedscope.app

About

1๏ธโƒฃ๐Ÿ๐ŸŽ๏ธ The One Billion Row Challenge - .NET Edition

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages