254 Commits (0d554d7ef159761439ade414fcd028262eae656c)

Author SHA1 Message Date
Raymond Hettinger 4148195c45 Move the active entry multiplication to later in the hash calculation 11 years ago
Raymond Hettinger b501a27ad8 Restore frozenset hash caching removed in cf707dd190a9 11 years ago
Raymond Hettinger a286a51ae1 Fix comment typo 11 years ago
Raymond Hettinger 36c0500990 Tweak the comments 11 years ago
Raymond Hettinger fbffdef47d Issue #24762: Speed-up frozenset_hash() and greatly beef-up the comments. 11 years ago
Raymond Hettinger daffc916aa Issue #24681: Move the most likely test first in set_add_entry(). 11 years ago
Raymond Hettinger 70559b5c20 Issue #24681: Move the store of so->table to the code block where it is used. 11 years ago
Raymond Hettinger ff9e18a863 Issue #24583: Consolidate previous set object updates into a single function 11 years ago
Raymond Hettinger 482c05cbb5 Issue #24583: Fix refcount leak. 11 years ago
Raymond Hettinger 061091a7c5 Issue #24583: Fix crash when set is mutated while being updated. 11 years ago
Raymond Hettinger a3626bc5bd Issue #24583: Fix crash when set is mutated while being updated. 11 years ago
Raymond Hettinger 5d2385ff6f Neaten-up a little bit. 11 years ago
Raymond Hettinger 9632a7d735 Issue 24581: Revert c9782a9ac031 pending a stronger test for mutation during iteration. 11 years ago
Raymond Hettinger 11ce8e6c37 Minor bit of factoring-out common code. 11 years ago
Raymond Hettinger 3dbc11cadd Tighten-up code in the set iterator to use an entry pointer rather than indexing. 11 years ago
Raymond Hettinger ef6bd7d963 Tighten-up code in set_next() to use an entry pointer rather than indexing. 11 years ago
Raymond Hettinger b48d6a63ff Bring related functions add/contains/discard together in the code. 11 years ago
Raymond Hettinger 73799b181e Change add/contains/discard calls to pass the key and hash instead of an entry struct. 11 years ago
Raymond Hettinger dc28d5a198 Clean-up call patterns for add/contains/discard to better match the caller's needs. 11 years ago
Raymond Hettinger ac2ef65c32 Make the unicode equality test an external function rather than in-lining it. 11 years ago
Raymond Hettinger e186c7674c Make sure the dummy percentage calculation won't overflow. 11 years ago
Raymond Hettinger c2480dc0c4 Minor cleanup. 11 years ago
Raymond Hettinger b322326f48 Minor nit: Make the style of checking error return values more consistent. 11 years ago
Raymond Hettinger 4897300276 Minor factoring: move redundant resize scaling logic into the resize function. 11 years ago
Raymond Hettinger 3c1f52e829 Call set_lookkey() directly to avoid unnecessary memory spills and reloads. 11 years ago
Raymond Hettinger 15f0869609 Move insertion resize logic into set_insert_key(). 11 years ago
Raymond Hettinger 2eff9e9441 Minor refactoring. Move reference count logic into function that adds entry. 11 years ago
Raymond Hettinger 91672617d5 Minor tweeak to tighten the inner-loop. 11 years ago
Raymond Hettinger 38bb95e49d Minor code cleanup. 11 years ago
Raymond Hettinger 7e3592dca6 Harmonize the bottom of the outer loop with its entry point 11 years ago
Raymond Hettinger 6ee588f14e Restore quick exit (no freeslot check) for common case (found null on first probe). 11 years ago
Yury Selivanov 7aa5341164 Reverting my previous commit. 11 years ago
Serhiy Storchaka fa494fd883 Issue #24115: Update uses of PyObject_IsTrue(), PyObject_Not(), 11 years ago
Raymond Hettinger 8651a50475 Issue #23359: Specialize set_lookkey intoa lookup function and an insert function. 11 years ago
Raymond Hettinger 5af9e13c18 Minor stylistic and consistency cleanup. 11 years ago
Raymond Hettinger 1bd8d75be3 Issue #23290: Optimize set_merge() for cases where the target is empty. 11 years ago
Raymond Hettinger 438f9134cf Mirco-optimizations to reduce register spills and reloads observed on CLANG and GCC. 11 years ago
Raymond Hettinger 8249282622 Minor code clean up. 11 years ago
Raymond Hettinger 06bb1226d1 Issue 23359: Reduce size of code in set_lookkey. Only do linear probes when there is no wrap-around. 11 years ago
Raymond Hettinger c658d85487 Issue 23359: Tighten inner search loop for sets (don't and-mask every entry lookup). 11 years ago
Raymond Hettinger 59ecabd12a Keep the definition of i consistent between set_lookkey() and set_insert_clean(). 11 years ago
Raymond Hettinger 9edd753229 Minor tweak to improve code clarity. 11 years ago
Raymond Hettinger 06a1c8dfa0 Fix typo in a comment. 11 years ago
Raymond Hettinger f8d1a31e70 Revert unintended part of the commit (the key==dummy test wasn't supposed to change). 11 years ago
Raymond Hettinger a5ebbf6295 Remove unneeded dummy test from the set search loop (when the hashes match we know the key is not a dummy). 11 years ago
Raymond Hettinger 3037e84ad1 Issue #23269: Tighten search_loop in set_insert_clean() 11 years ago
Raymond Hettinger b335dfe7fa Set the hash values of dummy entries to -1. Improves quality of entry->hash == hash tests. 11 years ago
Raymond Hettinger 4d45c1069b Update out-of-date comments. 11 years ago
Raymond Hettinger 93035c44fd Issue #23119: Simplify setobject by inlining the special case for unicode equality testing. 11 years ago
Raymond Hettinger ed741d4ff0 A hybrid of and-masking and a conditional-set-to-zero produce even faster search loop. 11 years ago