]> granicus.if.org Git - python/commitdiff
A hybrid of and-masking and a conditional-set-to-zero produce even faster search...
authorRaymond Hettinger <python@rcn.com>
Mon, 19 Jan 2015 05:25:15 +0000 (21:25 -0800)
committerRaymond Hettinger <python@rcn.com>
Mon, 19 Jan 2015 05:25:15 +0000 (21:25 -0800)
Objects/setobject.c

index f865d1c5f9ab89a98f2e407914bee9b44b5633f1..ddf6822519b5bb8789d1dfc7554975fd45d7978c 100644 (file)
@@ -671,7 +671,8 @@ set_pop(PySetObject *so)
 
     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;