From 0b64b63f70f18d5198b04ea1c34673d4ecefca65 Mon Sep 17 00:00:00 2001 From: Forrest Voight Date: Sun, 31 Jul 2011 12:49:13 -0400 Subject: [PATCH] remove interning --- p2pool/bitcoin/data.py | 3 +-- p2pool/util/intern2.py | 35 ----------------------------------- 2 files changed, 1 insertions(+), 37 deletions(-) delete mode 100644 p2pool/util/intern2.py diff --git a/p2pool/bitcoin/data.py b/p2pool/bitcoin/data.py index 29ab0da..e7e6165 100644 --- a/p2pool/bitcoin/data.py +++ b/p2pool/bitcoin/data.py @@ -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 index 8d063bc..0000000 --- a/p2pool/util/intern2.py +++ /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) -- 1.7.1