Make Nick BDFG delegate
add string length distribution add http://bugs.python.org/issue19183
This commit is contained in:
parent
e8c49a7e04
commit
47829f733d
12
pep-0456.txt
12
pep-0456.txt
|
@ -3,6 +3,7 @@ Title: Secure and interchangeable hash algorithm
|
||||||
Version: $Revision$
|
Version: $Revision$
|
||||||
Last-Modified: $Date$
|
Last-Modified: $Date$
|
||||||
Author: Christian Heimes <christian@python.org>
|
Author: Christian Heimes <christian@python.org>
|
||||||
|
BDFL-Delegate: Nick Coghlan
|
||||||
Status: Draft
|
Status: Draft
|
||||||
Type: Standards Track
|
Type: Standards Track
|
||||||
Content-Type: text/x-rst
|
Content-Type: text/x-rst
|
||||||
|
@ -461,10 +462,17 @@ speed but it is still in the same order of magnitude as the current FNV code.
|
||||||
It's yet unknown how the new distribution of hash values affects collisions
|
It's yet unknown how the new distribution of hash values affects collisions
|
||||||
of common keys in dicts of Python classes.
|
of common keys in dicts of Python classes.
|
||||||
|
|
||||||
|
Typical length
|
||||||
|
--------------
|
||||||
|
|
||||||
Serhiy Storchaka has shown in [issue16427]_ that a modified FNV
|
Serhiy Storchaka has shown in [issue16427]_ that a modified FNV
|
||||||
implementation with 64 bits per cycle is able to process long strings several
|
implementation with 64 bits per cycle is able to process long strings several
|
||||||
times faster than the current FNV implementation.
|
times faster than the current FNV implementation.
|
||||||
|
|
||||||
|
However according to statistics [issue19183]_ a typical Python program as
|
||||||
|
well as the Python test suite have a hash ratio of about 50% small strings
|
||||||
|
between 1 and 6 bytes. Only 5% of the strings are larger than 16 bytes.
|
||||||
|
|
||||||
|
|
||||||
Grand Unified Python Benchmark Suite
|
Grand Unified Python Benchmark Suite
|
||||||
------------------------------------
|
------------------------------------
|
||||||
|
@ -526,6 +534,8 @@ versions of the PEP aim for compile time configuration.
|
||||||
Reference
|
Reference
|
||||||
=========
|
=========
|
||||||
|
|
||||||
|
* Issue 19183 [issue19183]_ contains a reference implementation.
|
||||||
|
|
||||||
.. [29c3] http://events.ccc.de/congress/2012/Fahrplan/events/5152.en.html
|
.. [29c3] http://events.ccc.de/congress/2012/Fahrplan/events/5152.en.html
|
||||||
|
|
||||||
.. [fnv] http://en.wikipedia.org/wiki/Fowler-Noll-Vo_hash_function
|
.. [fnv] http://en.wikipedia.org/wiki/Fowler-Noll-Vo_hash_function
|
||||||
|
@ -544,6 +554,8 @@ Reference
|
||||||
|
|
||||||
.. [issue16427] http://bugs.python.org/issue16427
|
.. [issue16427] http://bugs.python.org/issue16427
|
||||||
|
|
||||||
|
.. [issue19183] http://bugs.python.org/issue19183
|
||||||
|
|
||||||
.. [trie] http://en.wikipedia.org/wiki/Trie
|
.. [trie] http://en.wikipedia.org/wiki/Trie
|
||||||
|
|
||||||
.. [city] http://code.google.com/p/cityhash/
|
.. [city] http://code.google.com/p/cityhash/
|
||||||
|
|
Loading…
Reference in New Issue