cpython/Include
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
..
abstract.h Issue #2377: Make importlib the implementation of __import__(). 2012-04-14 14:10:13 -04:00
accu.h Issue #14387 : undefine 'small' so that it doesn't clash with Windows headers. 2012-03-22 23:10:37 +00:00
asdl.h Widen ASDL sequences to Py_ssize_t lengths to better match PEP 353. 2012-05-15 14:45:03 +02:00
ast.h add a AST validator (closes #12575) 2011-08-09 16:15:04 -05:00
bitset.h
bltinmodule.h these builtins have to be initialized 2009-05-09 18:10:51 +00:00
boolobject.h #1629: Renamed Py_Size, Py_Type and Py_Refcnt to Py_SIZE, Py_TYPE and Py_REFCNT. 2007-12-19 02:45:37 +00:00
bytearrayobject.h Merge branches/pep-0384. 2010-12-03 20:14:31 +00:00
bytes_methods.h Merge branches/pep-0384. 2010-12-03 20:14:31 +00:00
bytesobject.h Simplify and optimize formatlong() 2012-04-27 23:40:13 +02:00
cellobject.h Merge branches/pep-0384. 2010-12-03 20:14:31 +00:00
ceval.h Merge branches/pep-0384. 2010-12-03 20:14:31 +00:00
classobject.h Merge branches/pep-0384. 2010-12-03 20:14:31 +00:00
code.h map cells to arg slots at code creation time (closes #12399) 2011-06-25 22:54:45 -05:00
codecs.h Fix build under Windows 2011-10-15 16:38:20 +02:00
compile.h Move code related to compile from Python.h to compile.h 2011-09-29 01:04:08 +02:00
complexobject.h 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
datetime.h Issue #13727: Add 3 macros to access PyDateTime_Delta members: 2012-01-17 21:31:50 +01:00
descrobject.h Issue #13577: various kinds of descriptors now have a __qualname__ attribute. 2011-12-12 13:47:25 +01:00
dictobject.h Account for shared keys in type's __sizeof__ (#13903). 2012-04-24 19:13:57 +02:00
dtoa.h 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
dynamic_annotations.h Closes issue #13488: Some old preprocessors have problem with #define not in the first column 2011-11-27 05:16:22 +01:00
enumobject.h Implement and apply PEP 322, reverse iteration 2003-11-06 14:06:48 +00:00
errcode.h Issue #12705: Raise SyntaxError when compiling multiple statements as single interactive statement 2012-01-19 01:08:41 -06:00
eval.h Merge branches/pep-0384. 2010-12-03 20:14:31 +00:00
fileobject.h Issue #12287: Fix a stack corruption in ossaudiodev module when the FD is 2011-08-28 17:51:43 +02:00
fileutils.h Issue #14153 Create _Py_device_encoding() to prevent _io from having to import 2012-02-29 18:31:31 -05:00
floatobject.h 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
frameobject.h perform yield from delegation by repeating YIELD_FROM opcode (closes #14230) 2012-03-15 15:37:39 -05:00
funcobject.h PEP 3155 / issue #13448: Qualified name for classes and functions. 2011-11-25 18:56:07 +01:00
genobject.h perform yield from delegation by repeating YIELD_FROM opcode (closes #14230) 2012-03-15 15:37:39 -05:00
graminit.h Implement PEP 380 - 'yield from' (closes #11682) 2012-01-13 21:43:40 +10:00
grammar.h
import.h Issue #2377: Make importlib the implementation of __import__(). 2012-04-14 14:10:13 -04:00
intrcheck.h Issue #12328: Under Windows, refactor handling of Ctrl-C events and 2011-11-21 21:26:56 +01:00
iterobject.h Rename _PyIter_GetBuiltin to _PyObject_GetBuiltin, and do not include it in the stable ABI. 2012-04-05 00:04:20 +02:00
listobject.h Issue #13389: Full garbage collection passes now clear the freelists for 2011-11-15 00:00:12 +01:00
longintrepr.h Issue #7652: Integrate the decimal floating point libmpdec library to speed 2012-03-21 18:25:23 +01:00
longobject.h 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
marshal.h Merge branches/pep-0384. 2010-12-03 20:14:31 +00:00
memoryobject.h Issue #14930: Make memoryview objects weakrefable. 2012-05-28 21:35:09 +01:00
metagrammar.h
methodobject.h Reformat by replacing tabs with 4-spaces. Makes the code more PEP-7 compliant 2012-04-05 06:42:48 +03:00
modsupport.h Merge branches/pep-0384. 2010-12-03 20:14:31 +00:00
moduleobject.h Issue #3080: Add PyModule_NewObject() function 2011-03-04 12:57:07 +00:00
node.h move LINENO define to where it actually belongs 2012-01-16 17:29:05 -05:00
object.h Implement PEP 412: Key-sharing dictionaries (closes #13903) 2012-04-23 11:24:50 -04:00
objimpl.h Issue #10333: Remove ancient GC API, which has been deprecated since 2011-01-04 00:00:31 +00:00
opcode.h Implement PEP 380 - 'yield from' (closes #11682) 2012-01-13 21:43:40 +10:00
osdefs.h Change command line processing API to use wchar_t. 2008-04-05 20:41:37 +00:00
parsetok.h Issue #10785: Store the filename as Unicode in the Python parser. 2011-04-05 00:39:01 +02:00
patchlevel.h Post-3.3a3 bump. 2012-05-06 11:20:09 +02:00
pgen.h Changes from Jonathan Riehl to allow his pgen extension (PEP 269) to 2003-04-17 14:55:42 +00:00
pgenheaders.h Use Py_GCC_ATTRIBUTE instead of __attribute__. Compilers other than GCC 2002-09-15 14:09:54 +00:00
py_curses.h Issue #12567: The curses module uses Unicode functions for Unicode arguments 2011-11-25 22:10:02 +01:00
pyarena.h Merge branches/pep-0384. 2010-12-03 20:14:31 +00:00
pyatomic.h - Issue #11147: Fix an unused argument in _Py_ANNOTATE_MEMORY_ORDER. (Fix 2011-12-05 16:45:02 -05:00
pycapsule.h Merged revisions 88517 via svnmerge from 2011-02-22 23:43:57 +00:00
pyctype.h Try to fix linking failures under Windows 2011-10-04 14:43:47 +02:00
pydebug.h Merge 3.2: Issue #13703 plus some related test suite fixes. 2012-02-21 00:33:36 +01:00
pyerrors.h PEP 415: Implement suppression of __context__ display with an exception attribute 2012-05-14 22:09:31 -07:00
pyexpat.h add a replacement API for PyCObject, PyCapsule #5630 2009-05-05 22:31:58 +00:00
pyfpe.h
pygetopt.h Fix test failure in test_cmd_line by initializing the hash secret at the earliest point. 2012-02-21 19:03:47 +01:00
pymacconfig.h #11565: Merge with 3.1. 2011-03-16 11:35:38 +02:00
pymacro.h Rename Py_BUILD_ASSERT to Py_BUILD_ASSERT_EXPR 2011-09-29 12:43:18 +02:00
pymath.h Issue #11495: OSF support is eliminated. It was deprecated in Python 3.2 2011-03-14 17:36:54 +01:00
pymem.h Merged revisions 78192 via svnmerge from 2010-02-14 14:09:25 +00:00
pyport.h Issue #13889: Merge fix from 3.2. 2012-04-15 15:12:37 +01:00
pystate.h Issues #13959, 14647: Re-implement imp.reload() in Lib/imp.py. 2012-04-29 14:38:11 -04:00
pystrcmp.h Merged revisions 59541-59561 via svnmerge from 2007-12-19 02:07:34 +00:00
pystrtod.h Merge branches/pep-0384. 2010-12-03 20:14:31 +00:00
Python-ast.h make YieldFrom its own distinct from Yield (closes #13780) 2012-01-14 08:58:23 -05:00
Python.h Issue #14387: Do not include accu.h from Python.h. 2012-03-22 14:42:18 +01:00
pythonrun.h Issue #2377: Make importlib the implementation of __import__(). 2012-04-14 14:10:13 -04:00
pythread.h Issue #11223: Replace threading._info() by sys.thread_info 2011-04-30 14:53:09 +02:00
pytime.h Issue #14127: Add ns= parameter to utime, futimes, and lutimes. 2012-05-03 00:30:07 -07:00
rangeobject.h #1629: Renamed Py_Size, Py_Type and Py_Refcnt to Py_SIZE, Py_TYPE and Py_REFCNT. 2007-12-19 02:45:37 +00:00
setobject.h Issue #6695: Full garbage collection runs now clear the freelist of set objects. 2011-12-16 11:24:27 +01:00
sliceobject.h Merge branches/pep-0384. 2010-12-03 20:14:31 +00:00
structmember.h s/tabs/spaces, and clean trailing whitespace 2012-05-23 07:09:08 +03:00
structseq.h Merge branches/pep-0384. 2010-12-03 20:14:31 +00:00
symtable.h Issue #9904: fix and clarify some comments + fix indentation in symtable code 2011-04-10 07:37:26 +03:00
sysmodule.h Merge branches/pep-0384. 2010-12-03 20:14:31 +00:00
token.h Issue #13629: Renumber the tokens in token.h to match the _PyParser_TokenNames indexes. 2012-01-15 19:15:36 -06:00
traceback.h Issue #11393: _Py_DumpTraceback() writes the header even if there is no frame 2011-04-01 15:34:01 +02:00
tupleobject.h Merge branches/pep-0384. 2010-12-03 20:14:31 +00:00
typeslots.h Issue #11134: Add missing fields to typeslots.h. 2011-02-11 20:50:24 +00:00
ucnhash.h #12753: Add support for Unicode name aliases and named sequences. 2011-10-21 21:57:36 +03:00
unicodeobject.h 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
warnings.h Issue #10779: PyErr_WarnExplicit() decodes the filename from the filesystem 2010-12-27 20:10:36 +00:00
weakrefobject.h Merge branches/pep-0384. 2010-12-03 20:14:31 +00:00