Mercurial > cpython-lru_cache-weakref
diff Objects/unicodeobject.c @ 76705:4b98ce6ef95e
Issue #14687: Optimize str%args
* formatfloat() uses unicode_fromascii() instead of PyUnicode_DecodeASCII()
to not have to check characters, we know that it is really ASCII
* Use PyUnicode_FromOrdinal() instead of _PyUnicode_FromUCS4() to format
a character: if avoids a call to ucs4lib_find_max_char() to compute
the maximum character (whereas we already know it, it is just the character
itself)
| author | Victor Stinner <victor.stinner@gmail.com> |
|---|---|
| date | Wed, 02 May 2012 00:29:36 +0200 |
| parents | 08b54c635586 |
| children | a966f9311ebb |
line wrap: on
line diff
--- a/Objects/unicodeobject.c Tue May 01 18:15:13 2012 +0200 +++ b/Objects/unicodeobject.c Wed May 02 00:29:36 2012 +0200 @@ -13431,7 +13431,7 @@ (flags & F_ALT) ? Py_DTSF_ALT : 0, NULL); if (p == NULL) return NULL; - result = PyUnicode_DecodeASCII(p, strlen(p), NULL); + result = unicode_fromascii((unsigned char*)p, strlen(p)); PyMem_Free(p); return result; } @@ -13947,7 +13947,7 @@ Py_UCS4 ch = formatchar(v); if (ch == (Py_UCS4) -1) goto onError; - temp = _PyUnicode_FromUCS4(&ch, 1); + temp = PyUnicode_FromOrdinal(ch); break; }
