General

Profile

samyron (Scott Myron)

  • Login: samyron
  • Registered on: 01/12/2026
  • Last sign in: 01/12/2026

Issues

open closed Total
Assigned issues 0 0 0
Reported issues 1 0 1

Activity

02/11/2026

03:56 AM Ruby Misc #21833: Switch default hash from SipHash13 to XXH3?
Anonymous wrote in #note-9:
> <snip>
> ...
Thank you for this awesome reply! I learned a lot from it. I do appreciate the thorough explanation of the issue with these multiplication based hash functions.
Note that the [a5hash](http...
samyron (Scott Myron)

01/16/2026

05:52 PM Ruby Revision 456ef914 (git): [ruby/json] Use __builtin_memcpy, if available, to copy overlapping byte ranges in copy_remaining_bytes to avoid a branch to MEMCPY. Additionally use a space as padding byte instead of an 'X' so it can be represented diretly on AArch64 with a single instruction.
https://github.com/ruby/json/commit/643ee11fed samyron (Scott Myron)

01/14/2026

07:59 AM Ruby Revision 24ad90d3 (git): [ruby/json] use a conditional to select SIMD implementation rather than pointer
https://github.com/ruby/json/commit/86a5cce405 samyron (Scott Myron)
07:59 AM Ruby Revision a650c90f (git): [ruby/json] initialize search.chunk_end to silence a warning about it being potentially uninitialized
https://github.com/ruby/json/commit/73818b80c8 samyron (Scott Myron)

01/13/2026

12:50 PM Ruby Misc #21833: Switch default hash from SipHash13 to XXH3?
[rapidhash](https://github.com/Nicoshev/rapidhash) is (mostly) faster than xxh3 on my M1 Macbook Air. The `large_hash_creation` has twice reported that xxhash is faster than rapidhash.
Note that rapidhash uses a single 64bit seed. xxh3 ...
samyron (Scott Myron)

01/12/2026

08:20 PM Ruby Misc #21833: Switch default hash from SipHash13 to XXH3?
bdewater (Bart de Water) wrote in #note-6:
> FWIW
> ...
I can give rapidhash a try. It's based on wyHash which Go uses (at least sometimes): https://github.com/golang/go/blob/cbe153806e67a16e362a1cdbbf1741d4ce82e98a/src/runtime/hash64.go
samyron (Scott Myron)
03:09 PM Ruby Misc #21833: Switch default hash from SipHash13 to XXH3?
byroot (Jean Boussier) wrote in #note-2:
> Well, the main concern is HashDOS, but looking at your branch, it seems you seed the hash function, so it's fine on that front.
I did note the HashDOS conversation on https://bugs.ruby-lang....
samyron (Scott Myron)
03:00 PM Ruby Misc #21833: Switch default hash from SipHash13 to XXH3?
The same benchmarks on an M4 Pro:
```
benchmark-driver ~/Downloads/hash_strings.yml -e "ruby-master::~/.rubies/ruby-master/bin/ruby" -e "ruby-xxhash::~/.rubies/ruby-xxhash/bin/ruby"
<snip>
Comparison:
tiny_hash_crea...
samyron (Scott Myron)
03:34 AM Ruby Misc #21833 (Open): Switch default hash from SipHash13 to XXH3?
Has there been any consideration switching to some other hash implementation?
I've searched through the issues and haven't found anything related to switching the default hash from SipHash13 to anything else.
I created a [branch](...
samyron (Scott Myron)

01/03/2026

08:30 AM Ruby Revision b6463d59 (git): [ruby/json] Directly write to the output buffer when converting UTF32 to UTF8.
https://github.com/ruby/json/commit/a51317c949 samyron (Scott Myron)

Also available in: Atom