Skip to content

Update to xxhash 0.8.3 and ammend Ractor tests#30

Merged
nashby merged 2 commits intonashby:masterfrom
dysonreturns:xxhash-083-ruby4test
Mar 26, 2026
Merged

Update to xxhash 0.8.3 and ammend Ractor tests#30
nashby merged 2 commits intonashby:masterfrom
dysonreturns:xxhash-083-ruby4test

Conversation

@dysonreturns
Copy link
Copy Markdown
Contributor

Hi.

This change aims to bring forward some performance updates from xxhash since 0.8.1 particularly on arm, by updating to the latest release 0.8.3.

Upgrade path:
I noticed which files libxxhash.c and libxxhash.h correspond to in the official repo and updated them like this:

curl -L https://raw.githubusercontent.com/Cyan4973/xxHash/refs/tags/v0.8.3/xxhash.c -o ./libxxhash.c
curl -L https://raw.githubusercontent.com/Cyan4973/xxHash/refs/tags/v0.8.3/xxhash.h -o ./libxxhash.h

Feel free to verify they match exactly.

Tests: The Ractor test failed for Ruby 4, which now has slightly different Ractor syntax, so there's now a conditional for Ruby 3 and Ruby 4 in the spec.

Manual tests per Ruby: I built and spot-checked Rubies 3.2.x, 3.3.x and 4.0.x. They all appear fine.

I wasn't able to compile for Ruby 2.x on my MacOS, but that might just be me. I'm not sure whether 2.x is supported, even. Maybe consider marking a min Ruby version in the gemspec if that's the case?

3.2.x is end-of-life shortly, so 3.3 is a good target.

spec.required_ruby_version = '>= 3.3.0'

@nashby nashby merged commit f11c016 into nashby:master Mar 26, 2026
3 checks passed
@nashby
Copy link
Copy Markdown
Owner

nashby commented Mar 26, 2026

@dysonreturns thanks! I'll add 4.0 to CI. Ruby 2 is not officially supported though so it's fine. I'll consider adding required version config.

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.

2 participants