Author: Alex Gaynor <[email protected]>
Branch:
Changeset: r59195:5506644e6fd2
Date: 2012-12-01 14:33 -0800
http://bitbucket.org/pypy/pypy/changeset/5506644e6fd2/
Log: improve the performance of JSON by not doing weird default hacks
diff --git a/lib-python/2.7/json/decoder.py b/lib-python/2.7/json/decoder.py
--- a/lib-python/2.7/json/decoder.py
+++ b/lib-python/2.7/json/decoder.py
@@ -62,8 +62,7 @@
DEFAULT_ENCODING = "utf-8"
-def py_scanstring(s, end, encoding=None, strict=True,
- _b=BACKSLASH, _m=STRINGCHUNK.match):
+def py_scanstring(s, end, encoding=None, strict=True):
"""Scan the string s for a JSON string. End is the index of the
character in s after the quote that started the JSON string.
Unescapes all valid JSON string escape sequences and raises ValueError
@@ -78,7 +77,7 @@
_append = chunks.append
begin = end - 1
while 1:
- chunk = _m(s, end)
+ chunk = STRINGCHUNK.match(s, end)
if chunk is None:
raise ValueError(
errmsg("Unterminated string starting at", s, begin))
@@ -109,7 +108,7 @@
# If not a unicode escape sequence, must be in the lookup table
if esc != 'u':
try:
- char = _b[esc]
+ char = BACKSLASH[esc]
except KeyError:
msg = "Invalid \\escape: " + repr(esc)
raise ValueError(errmsg(msg, s, end))
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit