Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0006366OCamlstandard librarypublic2014-04-12 08:372016-12-07 18:43
Assigned To 
PlatformOSOS Version
Product Version4.02.0+dev 
Target VersionFixed in Version 
Summary0006366: [github patch] Switch to the (more collision-resilient?) SipHash function
Description [^]

The patchset changes the C API exposed in hash.h to make it digest-agnostic
(so as to make future changes simpler) and switches the hash function to

SipHash is a familly of cryptographically-strong hash functions which are
competitive (performance-wise) with MurmurHash, the hash function currently used. SipHash-2-4 ( [^] ) is the recommended version of SipHash.

Preliminary benchmarks look good. However, they were done using the functorized
version of Hashtbl, and this specific proposal hasn't been benchmarked yet.


- The testsuite hasn't been fixed yet (expected values changed for hashes)
Commits expected to change the behaviour of the hash function are nbraud@28bde97 ( [^] ) and nbraud@7dde207 ( [^] )

- This patchset doesn't change the bit-width of the key and output (32 bits).
This weakens the hash function, compared to SipHash-2-4 as specified by its authors, but isn't fixable without breaking the API.
Tagsgithub, patch
Attached Files

- Relationships

-  Notes
frisch (developer)
2016-12-07 18:43

We no longer mirror Github PR on Mantis, so closing this ticket.

- Issue History
Date Modified Username Field Change
2014-04-12 08:37 gasche New Issue
2014-04-12 08:38 gasche Tag Attached: patch
2014-04-12 08:38 gasche Tag Attached: github
2014-04-12 08:43 gasche Severity minor => feature
2014-07-16 16:02 doligez Status new => acknowledged
2016-12-07 18:43 frisch Note Added: 0016796
2016-12-07 18:43 frisch Status acknowledged => resolved
2016-12-07 18:43 frisch Resolution open => suspended
2016-12-07 18:43 frisch Assigned To => frisch
2016-12-07 18:43 frisch Status resolved => closed
2016-12-07 18:43 frisch Assigned To frisch =>
2017-02-23 16:43 doligez Category OCaml standard library => standard library

Copyright © 2000 - 2011 MantisBT Group
Powered by Mantis Bugtracker