Aleksey Vaneev

Results 83 comments of Aleksey Vaneev

If you are not using `-march=znver1` with GCC on Zen+, it may be worth using it - this instruction set enables the `mulx` x86-64 instruction which may provide a different...

Or add -mbmi2 compiler option. It's a fairly portable option - supported by most CPUs in use today.

That's reasonable. Still, very weird performance results. In other benchmarks it's 0.18 cycles/byte on Zen1, with both GCC and Clang. On Zen5 with the latest SMHasher and GCC 13 I...

rapidhash bulk is a tiny bit faster than komihash on Zen5. But on hashmaps, rapidhash is a regression relative to wyhash. Latest komihash is as fast as rapidhash for hash-maps...

I would also suggest to switch to Clang and eliminate Unix- and Posix-specific APIs, if you want to provide widest portability. GCC is Linux-loving compiler, its portability is a myth....

I've finally decided to get Zen+ CPU for testing - I've got mini-PC with Ryzen 3550H processor at 2.1 GHz (3.3 GHz boost). When compiled with GCC 13 with corresponding...

Please use uint64_t hl = a5hash128 ((const uint8_t *)key, (size_t)len, (uint64_t)seed, (char*)out+8); memcpy(out, &hl, 8); a5hash128 returns lower 64-bits as direct result, for easier use as 64-bit hash.

SMHasher measures hash-map in 1 second which is far from being able to produce stable results.

As for ahash32 and other 32-bit hashes, they have use in embedded 32-bit applications. You can't use rapidhash or wyhash on 32-bit systems with good performance.

Also SMHasher is not suited for testing 32-bit hashes on hash-maps - there should be at most 16000 entries, and not 480k as it is now.