]> granicus.if.org Git - python/commitdiff
Speedup suggested by Sjoerd
authorGuido van Rossum <guido@python.org>
Tue, 30 Jul 1996 16:45:31 +0000 (16:45 +0000)
committerGuido van Rossum <guido@python.org>
Tue, 30 Jul 1996 16:45:31 +0000 (16:45 +0000)
Objects/dictobject.c
Objects/mappingobject.c

index 42e68d80076afe52c45ad8c87adda38673d1a078..f6558283eddfc46fea0765b01cbe881bb8df6fa9 100644 (file)
@@ -129,12 +129,13 @@ lookmapping(mp, key, hash)
        register int i, incr;
        register unsigned long sum = (unsigned long) hash;
        register mappingentry *freeslot = NULL;
+       register int size = mp->ma_size;
        /* We must come up with (i, incr) such that 0 <= i < ma_size
           and 0 < incr < ma_size and both are a function of hash */
-       i = sum % mp->ma_size;
+       i = sum % size;
        do {
                sum = 3*sum + 1;
-               incr = sum % mp->ma_size;
+               incr = sum % size;
        } while (incr == 0);
        for (;;) {
                register mappingentry *ep = &mp->ma_table[i];
@@ -152,7 +153,7 @@ lookmapping(mp, key, hash)
                         cmpobject(ep->me_key, key) == 0) {
                        return ep;
                }
-               i = (i + incr) % mp->ma_size;
+               i = (i + incr) % size;
        }
 }
 
index 42e68d80076afe52c45ad8c87adda38673d1a078..f6558283eddfc46fea0765b01cbe881bb8df6fa9 100644 (file)
@@ -129,12 +129,13 @@ lookmapping(mp, key, hash)
        register int i, incr;
        register unsigned long sum = (unsigned long) hash;
        register mappingentry *freeslot = NULL;
+       register int size = mp->ma_size;
        /* We must come up with (i, incr) such that 0 <= i < ma_size
           and 0 < incr < ma_size and both are a function of hash */
-       i = sum % mp->ma_size;
+       i = sum % size;
        do {
                sum = 3*sum + 1;
-               incr = sum % mp->ma_size;
+               incr = sum % size;
        } while (incr == 0);
        for (;;) {
                register mappingentry *ep = &mp->ma_table[i];
@@ -152,7 +153,7 @@ lookmapping(mp, key, hash)
                         cmpobject(ep->me_key, key) == 0) {
                        return ep;
                }
-               i = (i + incr) % mp->ma_size;
+               i = (i + incr) % size;
        }
 }