commit | ed741d4ff0e79c89ba77906eb9417025c3935c71 | [log] [tgz] |
---|---|---|
author | Raymond Hettinger <python@rcn.com> | Sun Jan 18 21:25:15 2015 -0800 |
committer | Raymond Hettinger <python@rcn.com> | Sun Jan 18 21:25:15 2015 -0800 |
tree | 92d479b8870ba43d59cfc723c14f25a90027bc6b | |
parent | bd9b200b872c2345c84af4fd98f5d0c8b674cc58 [diff] |
A hybrid of and-masking and a conditional-set-to-zero produce even faster search loop.
diff --git a/Objects/setobject.c b/Objects/setobject.c index f865d1c..ddf6822 100644 --- a/Objects/setobject.c +++ b/Objects/setobject.c
@@ -671,7 +671,8 @@ while ((entry = &so->table[i])->key == NULL || entry->key==dummy) { i++; - i &= so->mask; + if (i > so->mask) + i = 0; } key = entry->key; entry->key = dummy;