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

jerrinot - running out of ideas #631

Closed jerrinot closed 7 months ago

jerrinot commented 7 months ago

Check List:

By far the biggest effect is again borrowed from Thomas: -H:-GenLoopSafepoints. I assume it emits safe points less frequently. Everything else is just a random change, fingers crossed and hope for the best.

gunnarmorling commented 7 months ago

Yepp, makes for a small improvement:

Benchmark 1: timeout -v 300 ./calculate_average_jerrinot.sh 2>&1
  Time (mean ± σ):      2.081 s ±  0.009 s    [User: 0.002 s, System: 0.003 s]
  Range (min … max):    2.066 s …  2.093 s    10 runs

Summary
  jerrinot: trimmed mean 2.0812553498950006, raw times 2.0799817175200004,2.08734654252,2.0917138535200004,2.0754122445200003,2.0783476285200004,2.07593840552,2.0885443665200003,2.0657417345200004,2.09317634852,2.07275804052

Leaderboard

| # | Result (m:s.ms) | Implementation     | JDK | Submitter     | Notes     |
|---|-----------------|--------------------|-----|---------------|-----------|
|   | 00:02.081 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_jerrinot.java)| 21.0.2-graal | [Jaromir Hamala](https://github.com/jerrinot) | GraalVM native binary, uses Unsafe |
jerrinot commented 7 months ago

@gunnarmorling: once more thanks for being so incredibly responsive!