remove interning
authorForrest Voight <forrest@forre.st>
Sun, 31 Jul 2011 16:49:13 +0000 (12:49 -0400)
committerForrest Voight <forrest@forre.st>
Sun, 31 Jul 2011 16:49:13 +0000 (12:49 -0400)
p2pool/bitcoin/data.py
p2pool/util/intern2.py [deleted file]

index 29ab0da..e7e6165 100644 (file)
@@ -5,7 +5,7 @@ import hashlib
 import warnings
 
 from . import base58, skiplists
-from p2pool.util import bases, math, skiplist, intern2
+from p2pool.util import bases, math, skiplist
 import p2pool
 
 class EarlyEnd(Exception):
@@ -307,7 +307,6 @@ class FloatingIntegerType(Type):
         if p2pool.DEBUG:
             if self._target_to_bits(target) != bits:
                 raise ValueError('bits in non-canonical form')
-        target = intern2.intern2(target)
         return target, file
     
     def write(self, file, item):
diff --git a/p2pool/util/intern2.py b/p2pool/util/intern2.py
deleted file mode 100644 (file)
index 8d063bc..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-import weakref
-
-_weak_backing = weakref.WeakKeyDictionary()
-_backing = {}
-
-def intern2(obj):
-    if isinstance(obj, str):
-        return intern(obj)
-    
-    if obj in _backing:
-        return _backing[obj]
-    if obj in _weak_backing:
-        return _weak_backing[obj]
-    
-    if hasattr(obj, '__dict__'):
-        for key in obj.__dict__:
-            obj.__dict__[key] = recursive_intern2(obj.__dict__[key])
-    if isinstance(obj, tuple):
-        obj = tuple(recursive_intern2(x) for x in obj)
-    
-    try:
-        weakref.ref(obj)
-    except TypeError:
-        _backing[obj] = obj
-    else:
-        _weak_backing[obj] = obj
-    return obj
-
-if __name__ == '__main__':
-    a = 2**256*100
-    b = intern2(a)
-    c = 2**256*100
-    d = intern2(c)
-    print id(a), id(b)
-    print id(c), id(d)