[fpc-pascal] xxHash
Vojtěch Čihák
vojtech.cihak at atlas.cz
Thu Aug 28 23:44:52 CEST 2014
Hi,
I ported to freepascal xxHash, very fast non-cryptographic algorithm,
working near the RAM limits. Originally, it is written in C and published
under the BSD license.
Original C: https://code.google.com/p/xxhash/
Pascal port: http://sourceforge.net/projects/xxhashfpc/files/
Currently both 32-bit and 64-bit hashing works but only little-endian.
Big-endian is not implemented.
Only issue is the performance. While 64-bit hashing is good:
FPC: 3200 MB/s vs. GCC 3440 MB/s (it is 93%)
the 32-bit speed is much worst.
GCC benchmark has two results:
unaligned 2800 MB/s
aligned 3330 MB/s (buffer is aligned to 16B)
FPC gives 2200 MB/s and aligning buffer to 16, 32, or more bytes has no effect.
It is 79% of unaligned or 66% of aligned GCC result.
If someone want to help with improving performance or implement big-endian version,
he can contact me here on ML or on forum (nick Blaazen).
I can give him username and password to sourgeforge eventually.
For curiosity, there exists also blog where author optimalized algorithm via SSE instructions.
http://moinakg.wordpress.com/2013/01/19/vectorizing-xxhash-for-fun-and-profit/
Vojtěch a.k.a. Blaazen
More information about the fpc-pascal
mailing list