mmap-go
1brc
mmap-go | 1brc | |
---|---|---|
3 | 5 | |
906 | 418 | |
- | - | |
0.0 | 8.8 | |
almost 2 years ago | 18 days ago | |
Go | C# | |
BSD 3-clause "New" or "Revised" License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
mmap-go
-
The One Billion Row Challenge in Go: from 1m45s to 4s in nine solutions
Well, I guess it's more that the standard library doesn't have a cross-platform way to access them, not that memory-mapped files themselves can't be done on (say) Windows. It looks like there's a fairly popular 3rd party package that supports at least Linux, macOS, and Windows: https://github.com/edsrzf/mmap-go
-
llama.go - Meta's LLaMA GPT inference in pure Golang
Can you use https://github.com/edsrzf/mmap-go to speed up loading
-
Discovering and exploring mmap using Go
We're going to explore more mmap functionalities from the point of view of the API provided by mmap-go. There are probably more features that the native syscall provides that this library does not implement.
1brc
-
The One Billion Row Challenge in Rust: Part 1
And even faster with C# and C++ ones :)
https://hotforknowledge.com/2024/01/13/1brc-in-dotnet-among-...
Java is not particularly good at this kind of number crunching tasks.
-
Arena-Based Parsers
It may seem unexpected given all the hype around Go, but it is a surprisingly poor choice for this. If you want a more convenient language than C++ or Rust but retain the ability to reach optimal performance, C# could serve you much better.
Go underperforms at trivial XML parsing: https://news.ycombinator.com/item?id=40283721
If you push it, C# can extract optimal HW utilization when parsing text, beating C++: https://hotforknowledge.com/2024/01/13/1brc-in-dotnet-among-... (Go was not on the list because it was that much slower)
-
The One Billion Row Challenge in Go: from 1m45s to 4s in nine solutions
The more accurate statement would be is Go incapable of optimizations performed by Java and then Java is incapable of optimizations performed by C# and C++ implementations.
See https://hotforknowledge.com/2024/01/13/1brc-in-dotnet-among-...
- The One Billion Row Challenge – .NET Edition
- The One Billion Row Challenge
What are some alternatives?
llama.go - llama.go is like llama.cpp in pure Golang!
plb2 - A programming language benchmark
1brc - C99 implementation of the 1 Billion Rows Challenge. 1️⃣🐝🏎️ Runs in ~1.6 seconds on my not-so-fast laptop CPU w/ 16GB RAM.
nodejs - 1️⃣🐝🏎️ The One Billion Row Challenge with Node.js -- A fun exploration of how quickly 1B rows from a text file can be aggregated with different languages.