]> granicus.if.org Git - python/commitdiff
Issue 18774: Update news and whatsnew for the set optimizations
authorRaymond Hettinger <python@rcn.com>
Mon, 19 Aug 2013 16:12:20 +0000 (09:12 -0700)
committerRaymond Hettinger <python@rcn.com>
Mon, 19 Aug 2013 16:12:20 +0000 (09:12 -0700)
Doc/whatsnew/3.4.rst
Misc/NEWS

index 1c30d4319944517e38874b962fce86a09082ed81..f7d0c2654fdb79ba7996bc41ec199416ea951af4 100644 (file)
@@ -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
 =======================
index f5dbfeec281a4db1a5b8bd80e52ce6c588e5d926..df4a09b95571ecb2d930c3b791f1513c8c42811f 100644 (file)
--- 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.