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;
             }