diff options
author | Tim Peters <tim.peters@gmail.com> | 2001-06-16 05:11:17 (GMT) |
---|---|---|
committer | Tim Peters <tim.peters@gmail.com> | 2001-06-16 05:11:17 (GMT) |
commit | a7259597f1f9ef389012010d7b8a02ebcf7396e7 (patch) | |
tree | 7ada9cc6a3f30bc41999ba56da018ccd55342df8 /Include | |
parent | 239508cd1087a521ebe40fabc96c66dcb11c3f8c (diff) | |
download | cpython-a7259597f1f9ef389012010d7b8a02ebcf7396e7.zip cpython-a7259597f1f9ef389012010d7b8a02ebcf7396e7.tar.gz cpython-a7259597f1f9ef389012010d7b8a02ebcf7396e7.tar.bz2 |
SF bug 433228: repr(list) woes when len(list) big.
Gave Python linear-time repr() implementations for dicts, lists, strings.
This means, e.g., that repr(range(50000)) is no longer 50x slower than
pprint.pprint() in 2.2 <wink>.
I don't consider this a bugfix candidate, as it's a performance boost.
Added _PyString_Join() to the internal string API. If we want that in the
public API, fine, but then it requires runtime error checks instead of
asserts.
Diffstat (limited to 'Include')
-rw-r--r-- | Include/stringobject.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/Include/stringobject.h b/Include/stringobject.h index fbcff31..96f371e 100644 --- a/Include/stringobject.h +++ b/Include/stringobject.h @@ -77,6 +77,10 @@ extern DL_IMPORT(void) _Py_ReleaseInternedStrings(void); #define PyString_AS_STRING(op) (((PyStringObject *)(op))->ob_sval) #define PyString_GET_SIZE(op) (((PyStringObject *)(op))->ob_size) +/* _PyString_Join(sep, x) is like sep.join(x). sep must be PyStringObject*, + x must be an iterable object. */ +extern DL_IMPORT(PyObject *) _PyString_Join(PyObject *sep, PyObject *x); + /* --- Generic Codecs ----------------------------------------------------- */ /* Create an object by decoding the encoded string s of the |