Author: Brian Kearns <[email protected]>
Branch:
Changeset: r62691:ab34cd919592
Date: 2013-03-21 03:21 -0400
http://bitbucket.org/pypy/pypy/changeset/ab34cd919592/
Log: switch pickle/cPickle back to using cStringIO now that it's as fast
as StringBuilder (removing pypy modifications of stdlib)
diff --git a/lib-python/2/pickle.py b/lib-python/2/pickle.py
--- a/lib-python/2/pickle.py
+++ b/lib-python/2/pickle.py
@@ -1409,26 +1409,11 @@
except ImportError:
from StringIO import StringIO
-try:
- from __pypy__.builders import StringBuilder
-except ImportError:
- assert '__pypy__' not in sys.builtin_module_names
- StringBuilderFile = StringIO
-else:
- class StringBuilderFile(object):
- ''' pickle uses only file.write - provide this method,
- use StringBuilder for speed
- '''
- def __init__(self):
- self.builder = StringBuilder()
- self.write = self.builder.append
- self.getvalue = self.builder.build
-
def dump(obj, file, protocol=None):
Pickler(file, protocol).dump(obj)
def dumps(obj, protocol=None):
- file = StringBuilderFile()
+ file = StringIO()
Pickler(file, protocol).dump(obj)
return file.getvalue()
diff --git a/lib_pypy/cPickle.py b/lib_pypy/cPickle.py
--- a/lib_pypy/cPickle.py
+++ b/lib_pypy/cPickle.py
@@ -97,18 +97,12 @@
from pickle import StringIO
-try:
- from pickle import StringBuilderFile
-except ImportError:
- assert '__pypy__' not in sys.builtin_module_names
- StringBuilderFile = StringIO
-
PythonPickler = Pickler
class Pickler(PythonPickler):
def __init__(self, *args, **kw):
self.__f = None
if len(args) == 1 and isinstance(args[0], int):
- self.__f = StringBuilderFile()
+ self.__f = StringIO()
PythonPickler.__init__(self, self.__f, args[0], **kw)
else:
PythonPickler.__init__(self, *args, **kw)
@@ -126,7 +120,7 @@
@builtinify
def dumps(obj, protocol=None):
- file = StringBuilderFile()
+ file = StringIO()
Pickler(file, protocol).dump(obj)
return file.getvalue()
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit