Raymond Hettinger
|
2eff9e9441
|
Minor refactoring. Move reference count logic into function that adds entry.
|
2015-06-27 22:03:35 -07:00 |
|
Raymond Hettinger
|
91672617d5
|
Minor tweeak to tighten the inner-loop.
|
2015-06-26 02:50:21 -07:00 |
|
Raymond Hettinger
|
38bb95e49d
|
Minor code cleanup.
|
2015-06-24 01:22:19 -07:00 |
|
Raymond Hettinger
|
7e3592dca6
|
Harmonize the bottom of the outer loop with its entry point
giving a small simplification. Timings show that hash
pre-check seems only benefit the inner-loop (the linear probes).
|
2015-06-21 10:47:20 -07:00 |
|
Raymond Hettinger
|
6ee588f14e
|
Restore quick exit (no freeslot check) for common case (found null on first probe).
|
2015-06-20 21:39:51 -07:00 |
|
Serhiy Storchaka
|
e90982111a
|
Issue #24115: Update uses of PyObject_IsTrue(), PyObject_Not(),
PyObject_IsInstance(), PyObject_RichCompareBool() and _PyDict_Contains()
to check for and handle errors correctly.
|
2015-05-30 17:48:54 +03:00 |
|
Serhiy Storchaka
|
ac5569b1fa
|
Issue #24115: Update uses of PyObject_IsTrue(), PyObject_Not(),
PyObject_IsInstance(), PyObject_RichCompareBool() and _PyDict_Contains()
to check for and handle errors correctly.
|
2015-05-30 17:48:19 +03:00 |
|
Serhiy Storchaka
|
fa494fd883
|
Issue #24115: Update uses of PyObject_IsTrue(), PyObject_Not(),
PyObject_IsInstance(), PyObject_RichCompareBool() and _PyDict_Contains()
to check for and handle errors correctly.
|
2015-05-30 17:45:22 +03:00 |
|
Raymond Hettinger
|
8651a50475
|
Issue #23359: Specialize set_lookkey intoa lookup function and an insert function.
|
2015-05-27 10:37:20 -07:00 |
|
Raymond Hettinger
|
5af9e13c18
|
Minor stylistic and consistency cleanup.
|
2015-05-13 01:44:36 -07:00 |
|
Raymond Hettinger
|
1bd8d75be3
|
Issue #23290: Optimize set_merge() for cases where the target is empty.
(Contributed by Serhiy Storchaka.)
|
2015-05-13 01:26:14 -07:00 |
|
Raymond Hettinger
|
438f9134cf
|
Mirco-optimizations to reduce register spills and reloads observed on CLANG and GCC.
|
2015-02-09 06:48:29 -06:00 |
|
Raymond Hettinger
|
8249282622
|
Minor code clean up.
|
2015-02-04 08:37:02 -08:00 |
|
Raymond Hettinger
|
06bb1226d1
|
Issue 23359: Reduce size of code in set_lookkey. Only do linear probes when there is no wrap-around.
Nice simplification contributed by Serhiy Storchaka :-)
|
2015-02-03 08:15:30 -08:00 |
|
Raymond Hettinger
|
c658d85487
|
Issue 23359: Tighten inner search loop for sets (don't and-mask every entry lookup).
|
2015-02-02 08:35:00 -08:00 |
|
Raymond Hettinger
|
59ecabd12a
|
Keep the definition of i consistent between set_lookkey() and set_insert_clean().
|
2015-01-31 02:45:12 -08:00 |
|
Raymond Hettinger
|
9edd753229
|
Minor tweak to improve code clarity.
|
2015-01-30 20:09:23 -08:00 |
|
Raymond Hettinger
|
06a1c8dfa0
|
Fix typo in a comment.
|
2015-01-30 18:02:15 -08:00 |
|
Raymond Hettinger
|
f8d1a31e70
|
Revert unintended part of the commit (the key==dummy test wasn't supposed to change).
|
2015-01-26 22:06:43 -08:00 |
|
Raymond Hettinger
|
a5ebbf6295
|
Remove unneeded dummy test from the set search loop (when the hashes match we know the key is not a dummy).
|
2015-01-26 21:54:35 -08:00 |
|
Raymond Hettinger
|
3037e84ad1
|
Issue #23269: Tighten search_loop in set_insert_clean()
Instead of masking and shifting every loopup, move the wrap-around
test outside of the inner-loop.
|
2015-01-26 21:33:48 -08:00 |
|
Raymond Hettinger
|
b335dfe7fa
|
Set the hash values of dummy entries to -1. Improves quality of entry->hash == hash tests.
|
2015-01-25 16:38:52 -08:00 |
|
Raymond Hettinger
|
4d45c1069b
|
Update out-of-date comments.
|
2015-01-25 16:27:40 -08:00 |
|
Raymond Hettinger
|
93035c44fd
|
Issue #23119: Simplify setobject by inlining the special case for unicode equality testing.
|
2015-01-25 16:12:49 -08:00 |
|
Raymond Hettinger
|
ed741d4ff0
|
A hybrid of and-masking and a conditional-set-to-zero produce even faster search loop.
|
2015-01-18 21:25:15 -08:00 |
|