[pypy-svn] r15214 - pypy/dist/pypy/lib
arigo at codespeak.net
arigo at codespeak.net
Wed Jul 27 22:34:26 CEST 2005
Author: arigo
Date: Wed Jul 27 22:34:24 2005
New Revision: 15214
Modified:
pypy/dist/pypy/lib/_marshal.py
Log:
Performance hacks.
Modified: pypy/dist/pypy/lib/_marshal.py
==============================================================================
--- pypy/dist/pypy/lib/_marshal.py (original)
+++ pypy/dist/pypy/lib/_marshal.py Wed Jul 27 22:34:24 2005
@@ -229,10 +229,10 @@
self.bufpos = 0
def read(self, n):
- ret = self.bufstr[self.bufpos : self.bufpos+n]
- self.bufpos += n
- if self.bufpos > len(self.bufstr):
- raise EOFError, "read past buffer"
+ start = self.bufpos
+ end = start + n
+ ret = self.bufstr[start:end]
+ self.bufpos = end
return ret
@@ -311,13 +311,9 @@
return Ellipsis
dispatch[TYPE_ELLIPSIS] = load_ellipsis
- def load_int(self):
- return self.r_long()
- dispatch[TYPE_INT] = load_int
-
- def load_int64(self):
- return self.r_long64()
- dispatch[TYPE_INT64] = load_int64
+ dispatch[TYPE_INT] = r_long
+
+ dispatch[TYPE_INT64] = r_long64
def load_long(self):
size = self.r_long()
@@ -378,9 +374,7 @@
def load_list(self):
n = self.r_long()
- list = []
- for i in range(n):
- list.append(self.load())
+ list = [self.load() for i in range(n)]
return list
dispatch[TYPE_LIST] = load_list
More information about the Pypy-commit
mailing list