Eric Appelt added the comment: If I understand the reporting properly all tests so far have used SipHash24:
Python 3.7.0a0 (default:5b33829badcc+, Oct 30 2016, 17:29:47) [GCC 4.2.1 Compatible Apple LLVM 7.3.0 (clang-703.0.31)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import sysconfig >>> sysconfig.get_config_var("Py_HASH_ALGORITHM") 0 >>> import sys >>> sys.hash_info.algorithm 'siphash24' It sounds like it is worth it for me to be more rigorous and perform a battery of tests using FNV and then SipHash24 to compare: - Performing no dispersion after the frozenset hash is initially computed from XORing entry hashes (control) - Performing dispersion using an LCG after the frozenset hash is initially computed from XORing entry hashes (current approach) - Performing dispersion using the selected hash algorithm (FNV/SipHash24) after the frozenset hash is initially computed from XORing entry hashes (proposed approach) I'll take the six plots and merge them into a single PNG, and also post my (short)testing and plotting scripts for reproducibility and checking of the results. I can also write a regression test if you think that would be good to have in the test suite (perhaps skipped by default for time), where instead of using the same seven letters a-g as test strings and varying PYTHONHASHSEED, I could perform the letter test for n=7 with 10000 different sets of short random strings to see if any fell below threshold. ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue26163> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com