gunnarmorling / 1brc

1️⃣🐝🏎️ The One Billion Row Challenge -- A fun exploration of how quickly 1B rows from a text file can be aggregated with Java
https://www.morling.dev/blog/one-billion-row-challenge/
Apache License 2.0
6k stars 1.8k forks source link

royvanrijn: Back to a single reader #647

Closed royvanrijn closed 7 months ago

royvanrijn commented 7 months ago

Minimal changes, back to a single reader, trying to get every single piece of performance from that atm, can't seem to crack feeding the CPU on x86.

Check List:

gunnarmorling commented 7 months ago

No significant change:

Benchmark 1: timeout -v 300 ./calculate_average_royvanrijn.sh 2>&1
  Time (mean ± σ):      2.169 s ±  0.013 s    [User: 0.002 s, System: 0.004 s]
  Range (min … max):    2.146 s …  2.187 s    10 runs

Summary
  royvanrijn: trimmed mean 2.16988147611, raw times 2.14613909436,2.1594555573600003,2.16436538136,2.18173506736,2.1798577153600003,2.17423688136,2.17599544336,2.16450239736,2.15890336536,2.18652239336

Leaderboard

| # | Result (m:s.ms) | Implementation     | JDK | Submitter     | Notes     |
|---|-----------------|--------------------|-----|---------------|-----------|
|   | 00:02.169 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_royvanrijn.java)| 21.0.2-graal | [Roy van Rijn](https://github.com/royvanrijn) | GraalVM native binary, uses Unsafe |