From dbe6e71cac6fe0a1c3c65726bd6cdddbf5dcb655 Mon Sep 17 00:00:00 2001 From: "John.Lockwood" Date: Tue, 16 Dec 2014 08:51:19 -0800 Subject: [PATCH] Enable cPickle encoding benchmark --- amfbench/__init__.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/amfbench/__init__.py b/amfbench/__init__.py index 07e19c6..9d4493e 100644 --- a/amfbench/__init__.py +++ b/amfbench/__init__.py @@ -5,6 +5,8 @@ import time from amfbench import builder +from amfbench.codec import _cpickle +import cPickle binaries = None base_path = os.path.abspath(os.path.join( @@ -37,7 +39,7 @@ def encode(codec, name, size, encoding): try: bytes = codec.encode(payload, amf3) except Exception, bytes: - result = None + raise else: result = time.time() - start @@ -59,10 +61,14 @@ def decode(codec, name, size, encoding): raise NameError('Unknown builder %r' % (name,)) file_name = get_blob_filename(name, size, encoding) - - f = open(file_name, 'rb') - bytes = f.read() - f.close() + if isinstance(codec, _cpickle.Codec): + build_func = getattr(builder, name) + payload = build_func(size) + bytes = cPickle.dumps(payload) + else: + f = open(file_name, 'rb') + bytes = f.read() + f.close() amf3 = False if encoding == 0 else True @@ -71,7 +77,7 @@ def decode(codec, name, size, encoding): try: payload = codec.decode(bytes, amf3) except Exception: - result = None + raise else: result = time.time() - start