Closed royvanrijn closed 6 months ago
A tad slower:
Benchmark 1: timeout -v 300 ./calculate_average_royvanrijn.sh 2>&1
Time (mean ± σ): 2.169 s ± 0.015 s [User: 0.002 s, System: 0.003 s]
Range (min … max): 2.142 s … 2.180 s 5 runs
Warning: Statistical outliers were detected. Consider re-running this benchmark on a quiet system without any interferences from other programs. It might help to use the '--warmup' or '--prepare' options.
Summary
royvanrijn: trimmed mean 2.1739094199933335, raw times 2.14208824466,2.17498610166,2.17304411466,2.1804469546600003,2.1736980436600004
Leaderboard
| # | Result (m:s.ms) | Implementation | JDK | Submitter | Notes |
|---|-----------------|--------------------|-----|---------------|-----------|
| | 00:02.173 | [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 |
@royvanrijn, what would you like to do here? Any more updates?
Gonna close this one, as we're after the cut-off time. Thank you so much for particpating and congrats for creating one of the fastest implementations, @royvanrijn! You were the very first one to enter into 1BRC, so it all started with you :) Looking forward to our chat tonight!
I've tried this change with other changes, worthwhile to check by itself since all the top entries are doing this as well.
Check List:
[X] You have run
./mvnw verify
and the project builds successfully[X] Tests pass (
./test.sh <username>
shows no differences between expected and actual outputs)[X] All formatting changes by the build are committed
[X] Your launch script is named
calculate_average_<username>.sh
(make sure to match casing of your GH user name) and is executable[X] Output matches that of
calculate_average_baseline.sh
[X] For new entries, or after substantial changes: When implementing custom hash structures, please point to where you deal with hash collisions (line number)
Execution time:
Execution time of reference implementation: