http://hg.viff.dk/viff/rev/99a8a7c9cce5
changeset: 1153:99a8a7c9cce5
user:      Martin Geisler <[email protected]>
date:      Fri Mar 27 15:33:52 2009 +0100
summary:   Optimize for the happy path when hitting caches.

diffstat:

2 files changed, 12 insertions(+), 14 deletions(-)
viff/config.py |   22 ++++++++++------------
viff/prss.py   |    4 ++--

diffs (61 lines):

diff -r 295772b6b49a -r 99a8a7c9cce5 viff/config.py
--- a/viff/config.py    Fri Mar 27 15:30:06 2009 +0100
+++ b/viff/config.py    Fri Mar 27 15:33:52 2009 +0100
@@ -62,14 +62,13 @@
         Return a mapping from player subsets to :class:`viff.prss.PRF`
         instances.
         """
-        if (modulus in self.prfs_cache):
-            prfs = self.prfs_cache[modulus]
-        else:
-            prfs = {}
+        try:
+            return self.prfs_cache[modulus]
+        except KeyError:
+            self.prfs_cache[modulus] = prfs = {}
             for subset, key in self.keys.iteritems():
                 prfs[subset] = PRF(key, modulus)
-            self.prfs_cache[modulus] = prfs
-        return prfs
+            return prfs
 
     def dealer_prfs(self, modulus):
         """Retrieve dealer PRSS PRFs.
@@ -80,17 +79,16 @@
         Return a mapping from player subsets to :class:`viff.prss.PRF`
         instances.
         """
-        if (modulus in self.dealers_cache):
-            dealers = self.dealers_cache[modulus]
-        else:
-            dealers = {}
+        try:
+            return self.dealers_cache[modulus]
+        except KeyError:
+            self.dealers_cache[modulus] = dealers = {}
             for dealer, keys in self.dealer_keys.iteritems():
                 prfs = {}
                 for subset, key in keys.iteritems():
                     prfs[subset] = PRF(key, modulus)
                 dealers[dealer] = prfs
-            self.dealers_cache[modulus] = dealers
-        return dealers
+            return dealers
 
     def __repr__(self):
         """Simple string representation of the player."""
diff -r 295772b6b49a -r 99a8a7c9cce5 viff/prss.py
--- a/viff/prss.py      Fri Mar 27 15:30:06 2009 +0100
+++ b/viff/prss.py      Fri Mar 27 15:33:52 2009 +0100
@@ -79,9 +79,9 @@
     result = 0
     all = frozenset(range(1, n+1))
     for subset, share in rep_shares:
-        if ((field, n, j, subset) in _f_in_j_cache):
+        try:
             f_in_j = _f_in_j_cache[(field, n, j, subset)]
-        else:
+        except KeyError:
             points = [(field(x), 0) for x in all-subset]
             points.append((0, 1))
             f_in_j = shamir.recombine(points, j)
_______________________________________________
viff-commits mailing list
[email protected]
http://lists.viff.dk/listinfo.cgi/viff-commits-viff.dk

Reply via email to