Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

jerrinot - final(?) improvements #690

Merged
merged 4 commits into from
Jan 31, 2024

Conversation

jerrinot
Copy link
Contributor

Check List:

  • You have run ./mvnw verify and the project builds successfully
  • Tests pass (./test.sh <username> shows no differences between expected and actual outputs)
  • All formatting changes by the build are committed
  • Your launch script is named calculate_average_<username>.sh (make sure to match casing of your GH user name) and is executable
  • Output matches that of calculate_average_baseline.sh
  • 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: 1.7s
  • Execution time of reference implementation: loooong

supersedes #652

* <li>Van Phu DO (abeobk): I saw the idea with simple lookup tables instead of complicated bit-twiddling in his code first.</li>
* <li>Roy van Rijn (royvanrijn): I borrowed his SWAR code and initially his hash code impl</li>
* <li>Francesco Nigro (franz1981): For our online discussions about performance. Both before and during this challenge.
* Francesco gave me the idea to check register spilling.</li>

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lovely, thanks bud ❤️

@gunnarmorling
Copy link
Owner

OMG:

Benchmark 1: timeout -v 300 ./calculate_average_jerrinot.sh 2>&1
  Time (mean ± σ):      1.638 s ±  0.024 s    [User: 0.002 s, System: 0.004 s]
  Range (min … max):    1.597 s …  1.657 s    5 runs

Summary
  jerrinot: trimmed mean 1.64529769248, raw times 1.5968923114800002,1.6570793184800001,1.64792236748,1.64362821748,1.64434249248

Leaderboard

| # | Result (m:s.ms) | Implementation     | JDK | Submitter     | Notes     |
|---|-----------------|--------------------|-----|---------------|-----------|
|   | 00:01.645 | [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
Copy link
Contributor Author

hell yeah!

@gunnarmorling gunnarmorling merged commit 9b9bb8e into gunnarmorling:main Jan 31, 2024
1 check passed
@jerrinot jerrinot deleted the wear_a_new_mask branch January 31, 2024 17:18
@jerrinot jerrinot mentioned this pull request Jan 31, 2024
6 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants