cpython/Python
Victor Stinner d3f0882dfb Issue #14744: Use the new _PyUnicodeWriter internal API to speed up str%args and str.format(args)
* Formatting string, int, float and complex use the _PyUnicodeWriter API. It
   avoids a temporary buffer in most cases.
 * Add _PyUnicodeWriter_WriteStr() to restore the PyAccu optimization: just
   keep a reference to the string if the output is only composed of one string
 * Disable overallocation when formatting the last argument of str%args and
   str.format(args)
 * Overallocation allocates at least 100 characters: add min_length attribute
   to the _PyUnicodeWriter structure
 * Add new private functions: _PyUnicode_FastCopyCharacters(),
   _PyUnicode_FastFill() and _PyUnicode_FromASCII()

The speed up is around 20% in average.
2012-05-29 12:57:52 +02:00
..
Python-ast.c use Py_ssize_t for ast sequence lengths 2012-05-15 10:10:27 -07:00
_warnings.c Finally fix all test_capi refleaks 2012-01-18 21:45:15 +01:00
asdl.c Widen ASDL sequences to Py_ssize_t lengths to better match PEP 353. 2012-05-15 14:45:03 +02:00
ast.c merge 3.2 2012-03-12 11:16:03 -07:00
bltinmodule.c Issue #2377: Make importlib the implementation of __import__(). 2012-04-14 14:10:13 -04:00
ceval.c PEP 415: Implement suppression of __context__ display with an exception attribute 2012-05-14 22:09:31 -07:00
ceval_gil.h
codecs.c Check newly created consistency using _PyUnicode_CheckConsistency(str, 1) 2012-04-27 13:55:39 +02:00
compile.c Close #14857: fix regression in references to PEP 3135 implicit __class__ closure variable. Reopens issue #12370, but also updates unittest.mock to workaround that issue 2012-05-27 18:17:07 +10:00
dtoa.c Issue #14521: Make result of float('nan') and float('-nan') more consistent across platforms. Further, don't rely on Py_HUGE_VAL for float('inf'). 2012-04-29 15:31:56 +01:00
dup2.c
dynamic_annotations.c
dynload_aix.c Issue #13959: Re-implement imp.get_suffixes() in Lib/imp.py. 2012-05-04 15:20:40 -04:00
dynload_dl.c Issue #13959: Re-implement imp.get_suffixes() in Lib/imp.py. 2012-05-04 15:20:40 -04:00
dynload_hpux.c Issue #13959: Re-implement imp.get_suffixes() in Lib/imp.py. 2012-05-04 15:20:40 -04:00
dynload_next.c Issue #13959: Re-implement imp.get_suffixes() in Lib/imp.py. 2012-05-04 15:20:40 -04:00
dynload_os2.c Issue #13959: Re-implement imp.get_suffixes() in Lib/imp.py. 2012-05-04 15:20:40 -04:00
dynload_shlib.c Issue #13959: Re-implement imp.get_suffixes() in Lib/imp.py. 2012-05-04 15:20:40 -04:00
dynload_stub.c Issue #13959: Re-implement imp.get_suffixes() in Lib/imp.py. 2012-05-04 15:20:40 -04:00
dynload_win.c Fix #13210. Port the Windows build from VS2008 to VS2010. 2012-05-13 11:19:23 -05:00
errors.c Issue #14098: New functions PyErr_GetExcInfo and PyErr_SetExcInfo. 2012-04-19 14:33:43 +02:00
fileutils.c Issue #14153 Create _Py_device_encoding() to prevent _io from having to import 2012-02-29 18:31:31 -05:00
formatter_unicode.c Issue #14744: Use the new _PyUnicodeWriter internal API to speed up str%args and str.format(args) 2012-05-29 12:57:52 +02:00
freeze_importlib.py Avoid "warning: no newline at end of file" in importlib.h. 2012-05-16 12:58:04 +02:00
frozen.c Issue #2377: Make importlib the implementation of __import__(). 2012-04-14 14:10:13 -04:00
frozenmain.c
future.c Fix typo when "PyObject*" was changed to "identifier" 2012-03-23 12:50:53 +00:00
getargs.c PyArg_Parse*("U"): ensure that the Unicode string is ready 2012-05-29 12:30:29 +02:00
getcompiler.c
getcopyright.c Update copyright years and version name. 2012-03-04 16:26:19 +01:00
getcwd.c
getopt.c Fix test failure in test_cmd_line by initializing the hash secret at the earliest point. 2012-02-21 19:03:47 +01:00
getplatform.c
getversion.c
graminit.c Issue #13629: Renumber the tokens in token.h to match the _PyParser_TokenNames indexes. 2012-01-15 19:31:57 -06:00
import.c Close #14857: fix regression in references to PEP 3135 implicit __class__ closure variable. Reopens issue #12370, but also updates unittest.mock to workaround that issue 2012-05-27 18:17:07 +10:00
importdl.c Issue #14599: Generalize a test for ImportError.path and add support 2012-04-20 15:22:50 -04:00
importdl.h Issue #13959: Move module type constants to Lib/imp.py. 2012-05-04 16:13:30 -04:00
importlib.h Tweak importlib._bootstrap to avoid zero-argument super so I can work on issue #14857 without breaking imports 2012-05-27 17:49:58 +10:00
makeopcodetargets.py excise the remains of STOP_CODE, which hasn't done anything useful for years 2011-07-17 22:49:50 -05:00
marshal.c - Issue #14177: marshal.loads() now raises TypeError when given an unicode 2012-03-03 02:38:37 +01:00
modsupport.c modsupport.c reuses Py_UNICODE_strlen() 2011-09-29 04:01:43 +02:00
mysnprintf.c
mystrtoul.c
opcode_targets.h Implement PEP 380 - 'yield from' (closes #11682) 2012-01-13 21:43:40 +10:00
peephole.c Implement PEP 393. 2011-09-28 07:41:54 +02:00
pyarena.c
pyctype.c
pyfpe.c
pymath.c
pystate.c Issues #13959, 14647: Re-implement imp.reload() in Lib/imp.py. 2012-04-29 14:38:11 -04:00
pystrcmp.c
pystrtod.c Issue #14521: Make result of float('nan') and float('-nan') more consistent across platforms. Further, don't rely on Py_HUGE_VAL for float('inf'). 2012-04-29 15:31:56 +01:00
pythonrun.c PEP 415: Implement suppression of __context__ display with an exception attribute 2012-05-14 22:09:31 -07:00
pytime.c Issue #14127: Add ns= parameter to utime, futimes, and lutimes. 2012-05-03 00:30:07 -07:00
random.c enable hash randomization by default 2012-02-21 16:08:05 -05:00
sigcheck.c
strdup.c
structmember.c
symtable.c Close #14857: fix regression in references to PEP 3135 implicit __class__ closure variable. Reopens issue #12370, but also updates unittest.mock to workaround that issue 2012-05-27 18:17:07 +10:00
sysmodule.c Implemented PEP 405 (Python virtual environments). 2012-05-26 03:45:29 +01:00
thread.c Issue #11863: Remove support for legacy systems deprecated in Python 3.2 2011-07-08 23:47:50 +02:00
thread_foobar.h
thread_nt.h
thread_os2.h
thread_pth.h
thread_pthread.h Issue #14184: merge 2012-03-13 11:31:36 -07:00
traceback.c Remove "#ifdef Py_UNICODE_WIDE": Python is now always wide 2011-11-22 03:31:20 +01:00