[pypy-commit] pypy default: backout unpacking speed up
justinpeel
noreply at buildbot.pypy.org
Sun Aug 28 07:15:47 CEST 2011
Author: Justin Peel <notmuchtotell at gmail.com>
Branch:
Changeset: r46846:14f152109578
Date: 2011-08-27 23:12 -0600
http://bitbucket.org/pypy/pypy/changeset/14f152109578/
Log: backout unpacking speed up
diff --git a/pypy/module/struct/formatiterator.py b/pypy/module/struct/formatiterator.py
--- a/pypy/module/struct/formatiterator.py
+++ b/pypy/module/struct/formatiterator.py
@@ -154,13 +154,6 @@
self.inputpos = end
return s
- def get_pos_and_advance(self, count):
- pos = self.inputpos
- self.inputpos += count
- if self.inputpos > len(self.input):
- raise StructError("unpack str size too short for format")
- return pos
-
def appendobj(self, value):
self.result_w.append(self.space.wrap(value))
appendobj._annspecialcase_ = 'specialize:argtype(1)'
diff --git a/pypy/rlib/rstruct/standardfmttable.py b/pypy/rlib/rstruct/standardfmttable.py
--- a/pypy/rlib/rstruct/standardfmttable.py
+++ b/pypy/rlib/rstruct/standardfmttable.py
@@ -198,8 +198,8 @@
@specialize.argtype(0)
def unpack_int(fmtiter):
intvalue = inttype(0)
- s = fmtiter.input
- idx = fmtiter.get_pos_and_advance(size)
+ s = fmtiter.read(size)
+ idx = 0
if fmtiter.bigendian:
for i in unroll_range_size:
x = ord(s[idx])
More information about the pypy-commit
mailing list