Kaydet (Commit) 1164dfcb authored tarafından Antoine Pitrou's avatar Antoine Pitrou

Issue #19219: Speed up marshal.loads(), and make pyc files slightly (5% to 10%) smaller.

üst 4c6ed25b
......@@ -7,7 +7,7 @@
extern "C" {
#endif
#define Py_MARSHAL_VERSION 3
#define Py_MARSHAL_VERSION 4
PyAPI_FUNC(void) PyMarshal_WriteLongToFile(long, FILE *, int);
PyAPI_FUNC(void) PyMarshal_WriteObjectToFile(PyObject *, FILE *, int);
......
......@@ -262,11 +262,11 @@ class BugsTestCase(unittest.TestCase):
def test_bad_reader(self):
class BadReader(io.BytesIO):
def read(self, n=-1):
b = super().read(n)
def readinto(self, buf):
n = super().readinto(buf)
if n is not None and n > 4:
b += b' ' * 10**6
return b
n += 10**6
return n
for value in (1.0, 1j, b'0123456789', '0123456789'):
self.assertRaises(ValueError, marshal.load,
BadReader(marshal.dumps(value)))
......
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment