Closed artsiomkorzun closed 7 months ago
No significant improvement:
Benchmark 1: timeout -v 300 ./calculate_average_artsiomkorzun.sh 2>&1
Time (mean ± σ): 1.993 s ± 0.012 s [User: 0.001 s, System: 0.004 s]
Range (min … max): 1.960 s … 2.001 s 10 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
artsiomkorzun: trimmed mean 1.9964359586699998, raw times 1.9595103494200001,1.9957608504200002,1.9959027354200003,1.9953614054200002,1.9986479604200003,2.0014259274199997,1.99945463442,1.9983405434200001,1.9978416254200002,1.99017791442
Leaderboard
| # | Result (m:s.ms) | Implementation | JDK | Submitter | Notes |
|---|-----------------|--------------------|-----|---------------|-----------|
| | 00:01.996 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_artsiomkorzun.java)| 21.0.2-graal | [Artsiom Korzun](https://github.com/artsiomkorzun) | GraalVM native binary, uses Unsafe |
@gunnarmorling can you give it a try one more time? Changed the loop similar to Thomas's one.
Hey @artsiomkorzun, will check this one out asap. Quick question in the meantime: Would you be up for doing a live stream about 1BRC on Thursday this week, 7 pm UTC, together with Thomas, Roy, me, and Nicolai Parlog (for hosting)? We'll chat about the challenge, implementation tricks, etc.
@gunnarmorling Hey, I'm really grateful for the invitation, but I won't be able to come.
@artsiomkorzun Given the importance of the segmentation / work stealing for wall clock time, do you maybe want to be added as a co-author to my solution too?
@thomaswue not a big deal, I also took a lot of good stuff from you and other people.
@gunnarmorling Hey, I'm really grateful for the invitation, but I won't be able to come.
No worries, I thought I'd ask :)
Nice!
Benchmark 1: timeout -v 300 ./calculate_average_artsiomkorzun.sh 2>&1
Time (mean ± σ): 1.926 s ± 0.005 s [User: 0.002 s, System: 0.004 s]
Range (min … max): 1.913 s … 1.932 s 10 runs
Summary
artsiomkorzun: trimmed mean 1.92672918434, raw times 1.9132938513400002,1.9205588433400003,1.9261721613400002,1.9309468933400002,1.9274336183400003,1.92587679834,1.9261489963400003,1.93206151534,1.9301219723400003,1.92657419134
Leaderboard
| # | Result (m:s.ms) | Implementation | JDK | Submitter | Notes |
|---|-----------------|--------------------|-----|---------------|-----------|
| | 00:01.926 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_artsiomkorzun.java)| 21.0.2-graal | [Artsiom Korzun](https://github.com/artsiomkorzun) | GraalVM native binary, uses Unsafe |
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: ~30 ms better
Execution time of reference implementation: -