summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRaymond Hettinger <python@rcn.com>2013-08-19 16:12:20 (GMT)
committerRaymond Hettinger <python@rcn.com>2013-08-19 16:12:20 (GMT)
commitc301b55d7bf667b690065e19c883d9c02accb8bb (patch)
tree52760853a7df1e9d7158c4b27d931cce8f7acf16
parent85532eb2122bf32a90c6c26983d843b8223df37b (diff)
downloadcpython-c301b55d7bf667b690065e19c883d9c02accb8bb.zip
cpython-c301b55d7bf667b690065e19c883d9c02accb8bb.tar.gz
cpython-c301b55d7bf667b690065e19c883d9c02accb8bb.tar.bz2
Issue 18774: Update news and whatsnew for the set optimizations
-rw-r--r--Doc/whatsnew/3.4.rst6
-rw-r--r--Misc/NEWS4
2 files changed, 10 insertions, 0 deletions
diff --git a/Doc/whatsnew/3.4.rst b/Doc/whatsnew/3.4.rst
index 1c30d43..f7d0c26 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 f5dbfee..df4a09b 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.