Author: Armin Rigo <[email protected]>
Branch: unicode-utf8
Changeset: r93283:41d3807f2d87
Date: 2017-12-06 11:21 +0100
http://bitbucket.org/pypy/pypy/changeset/41d3807f2d87/
Log: Another big speed-up
diff --git a/rpython/rlib/rutf8.py b/rpython/rlib/rutf8.py
--- a/rpython/rlib/rutf8.py
+++ b/rpython/rlib/rutf8.py
@@ -680,11 +680,13 @@
return unicode_escape #, char_escape_helper
class Utf8StringBuilder(object):
+ @always_inline
def __init__(self, size=0):
self._s = StringBuilder(size)
self._lgt = 0
self._flag = FLAG_ASCII
+ @always_inline
def append(self, s):
# for strings
self._s.append(s)
@@ -692,6 +694,7 @@
self._lgt += newlgt
self._flag = combine_flags(self._flag, newflag)
+ @always_inline
def append_slice(self, s, start, end):
self._s.append_slice(s, start, end)
newlgt, newflag = get_utf8_length_flag(s, start, end)
@@ -699,27 +702,33 @@
self._flag = combine_flags(self._flag, newflag)
@signature(char(), returns=none())
+ @always_inline
def append_char(self, s):
# for characters, ascii
self._lgt += 1
self._s.append(s)
+ @always_inline
def append_code(self, code):
self._flag = combine_flags(self._flag, get_flag_from_code(code))
self._lgt += 1
unichr_as_utf8_append(self._s, code, True)
+ @always_inline
def append_utf8(self, utf8, length, flag):
self._flag = combine_flags(self._flag, flag)
self._lgt += length
self._s.append(utf8)
+ @always_inline
def build(self):
return self._s.build()
+ @always_inline
def get_flag(self):
return self._flag
+ @always_inline
def get_length(self):
return self._lgt
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit