1brc
nodejs
1brc | nodejs | |
---|---|---|
35 | 3 | |
6,809 | 54 | |
1.5% | - | |
9.6 | 3.3 | |
7 months ago | 9 months ago | |
Java | Java | |
Apache License 2.0 | Apache License 2.0 |
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.
1brc
-
1 Billion Rows Challenge in PHP
We have already created the file measurements.txt with 1 million lines using the semi-official tool create_measurements.py:
-
1BRC Coding Challenge: Nerd Sniping the Java Community
Looking at the fastest solution, the convertIntoNumber() function is where the magic happens.
Specifically, line 318 - https://github.com/gunnarmorling/1brc/blob/main/src/main/jav...
The line above (long digits ... ) converts from ASCII digits ('0'-'9') to actual numeric digits (range 0-9)
- Why I'm skeptical of rewriting JavaScript tools in "faster" languages
- 20 milhões de linhas em 20s
- Resolvendo o desafio de um bilhão de linhas em Go (de 1m40s para 8,4s)
-
Node vs Bun: One Billion Row Challenge
You can generate the file using a python script from here.
-
The One Billion Row Challenge in CUDA: from 17 minutes to 17 seconds
This would be the code to beat. Ideally with only 8 cores but any number of cores is also very interesting.
https://github.com/gunnarmorling/1brc/discussions/710
-
One Billion Row Challenge in Golang - From 95s to 1.96s
Given that 1-billion-line-file is approximately 13GB, instead of providing a fixed database, the official repository offers a script to generate synthetic data with random readings. Just follow the instructions to create your own database.
-
1BRC Merykitty's Magic SWAR: 8 Lines of Code Explained in 3k Words
Local disk I/O is no longer the bottleneck on modern systems: https://benhoyt.com/writings/io-is-no-longer-the-bottleneck/
In addition, the official 1BRC explicitly evaluated results on a RAM disk to avoid I/O speed entirely: https://github.com/gunnarmorling/1brc?tab=readme-ov-file#eva... "Programs are run from a RAM disk (i.o. the IO overhead for loading the file from disk is not relevant)"
-
Processing One Billion Rows in PHP!
You may have heard of the "The One Billion Row Challenge" (1brc) and in case you don't, go checkout Gunnar Morlings's 1brc repo.
nodejs
What are some alternatives?
csvlens - Command line csv viewer
serverpod - Serverpod is a next-generation app and web server, explicitly built for the Flutter and Dart ecosystem.
java - Java bindings for TensorFlow
1brc - 1BRC in .NET among fastest on Linux
yolov7-object-tracking - YOLOv7 Object Tracking Using PyTorch, OpenCV and Sort Tracking
1brc - C11 implementation of the 1 Billion Rows Challenge. 1️⃣🐝🏎️ Runs in ~1.6 seconds on my not-so-fast laptop CPU w/ 16GB RAM.