From: Raymond Hettinger Date: Mon, 19 Aug 2013 16:12:20 +0000 (-0700) Subject: Issue 18774: Update news and whatsnew for the set optimizations X-Git-Tag: v3.4.0a2~181 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c301b55d7bf667b690065e19c883d9c02accb8bb;p=python Issue 18774: Update news and whatsnew for the set optimizations --- diff --git a/Doc/whatsnew/3.4.rst b/Doc/whatsnew/3.4.rst index 1c30d43199..f7d0c2654f 100644 --- a/Doc/whatsnew/3.4.rst +++ b/Doc/whatsnew/3.4.rst @@ -389,6 +389,12 @@ Major performance enhancements have been added: * The UTF-32 decoder is now 3x to 4x faster. +* The cost of hash collisions for sets is now reduced. Each hash table + probe now checks a second key/hash pair for each cache line retrieved. + This exploits cache locality to make collision resolution less expensive. + + (Contributed by Raymond Hetting in :issue"`18771`.) + Build and C API Changes ======================= diff --git a/Misc/NEWS b/Misc/NEWS index f5dbfeec28..df4a09b955 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -12,6 +12,10 @@ Core and Builtins - Issue #18774: Remove last bits of GNU PTH thread code and thread_pth.h. +- Issue #18771: Add optimization to set object lookups to reduce the cost + of hash collisions. The core idea is to inspect a second key/hash pair + for each cache line retrieved. + - Issue #16105: When a signal handler fails to write to the file descriptor registered with ``signal.set_wakeup_fd()``, report an exception instead of ignoring the error.