Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Issue #18701: Remove support of old CPython versions (<3.0) from C code. | Serhiy Storchaka | 2013-08-16 | 1 | -5/+0 |
| | |||||
* | merge | Raymond Hettinger | 2013-08-14 | 1 | -9/+0 |
|\ | |||||
| * | Issue 18719: Remove a false optimization | Raymond Hettinger | 2013-08-14 | 1 | -9/+0 |
| | | | | | | | | | | | | | | | | | | | | Remove an unused early-out test from the critical path for dict and set lookups. When the strings already have matching lengths, kinds, and hashes, there is no additional information gained by checking the first characters (the probability of a mismatch is already known to be less than 1 in 2**64). | ||||
* | | Issue #18722: Remove uses of the "register" keyword in C code. | Antoine Pitrou | 2013-08-13 | 4 | -9/+9 |
| | | |||||
* | | rewrite the parsing of field names to be more consistent wrt recursive expansion | Benjamin Peterson | 2013-05-17 | 1 | -62/+53 |
| | | |||||
* | | merge 3.3 | Benjamin Peterson | 2013-05-17 | 1 | -2/+8 |
|\ \ | |/ | |||||
| * | only recursively expand in the format spec (closes #17644) | Benjamin Peterson | 2013-05-17 | 1 | -2/+8 |
| | | |||||
* | | Merge removal of trailing whitespace from 3.3. | Ezio Melotti | 2013-04-21 | 1 | -7/+7 |
|\ \ | |/ | |||||
| * | Remove trailing whitespace. | Ezio Melotti | 2013-04-21 | 1 | -7/+7 |
| | | |||||
* | | Close #17694: Add minimum length to _PyUnicodeWriter | Victor Stinner | 2013-04-17 | 1 | -3/+3 |
| | | | | | | | | | | | | | | | | | | | | | | | | * Add also min_char attribute to _PyUnicodeWriter structure (currently unused) * _PyUnicodeWriter_Init() has no more argument (except the writer itself): min_length and overallocate must be set explicitly * In error handlers, only enable overallocation if the replacement string is longer than 1 character * CJK decoders don't use overallocation anymore * Set min_length, instead of preallocating memory using _PyUnicodeWriter_Prepare(), in many decoders * _PyUnicode_DecodeUnicodeInternal() checks for integer overflow | ||||
* | | stringlib: remove unused STRINGLIB_RESIZE macro | Victor Stinner | 2013-04-14 | 7 | -7/+0 |
| | | |||||
* | | Issue #16061: Speed up str.replace() for replacing 1-character strings. | Serhiy Storchaka | 2013-04-13 | 1 | -0/+53 |
| | | |||||
* | | Close #13126: "Simplify" FASTSEARCH() code to help the compiler to emit more | Victor Stinner | 2013-04-07 | 1 | -3/+5 |
| | | | | | | | | | | | | | | efficient machine code. Patch written by Antoine Pitrou. Without this change, str.find() was 10% slower than str.rfind() in the worst case. | ||||
* | | Add _PyUnicodeWriter_WriteSubstring() function | Victor Stinner | 2013-04-02 | 1 | -12/+6 |
| | | | | | | | | | | | | | | | | | | Write a function to enable more optimizations: * If the substring is the whole string and overallocation is disabled, just keep a reference to the string, don't copy characters * Avoid a call to the expensive _PyUnicode_FindMaxChar() function when possible | ||||
* | | Remove unused defines. | Serhiy Storchaka | 2013-02-23 | 1 | -6/+0 |
|\ \ | |/ | |||||
| * | Remove unused defines. | Serhiy Storchaka | 2013-02-23 | 1 | -6/+0 |
| | | |||||
* | | Check for NULL before the pointer aligning in fastsearch_memchr_1char. | Serhiy Storchaka | 2013-01-15 | 1 | -15/+10 |
|\ \ | |/ | | | | | There is no guarantee that NULL is aligned. | ||||
| * | Check for NULL before the pointer aligning in fastsearch_memchr_1char. | Serhiy Storchaka | 2013-01-15 | 1 | -15/+10 |
| | | | | | | | | There is no guarantee that NULL is aligned. | ||||
* | | Issue #16592: stringlib_bytes_join doesn't raise MemoryError on allocation ↵ | Christian Heimes | 2012-12-02 | 1 | -0/+1 |
| | | | | | | | | failure | ||||
* | | (Merge 3.3) Issue #8271: Fix compilation on Windows | Victor Stinner | 2012-11-04 | 1 | -1/+1 |
|\ \ | |/ | |||||
| * | Issue #8271: Fix compilation on Windows | Victor Stinner | 2012-11-04 | 1 | -1/+1 |
| | | |||||
* | | #8271: merge with 3.3. | Ezio Melotti | 2012-11-04 | 1 | -30/+62 |
|\ \ | |/ | |||||
| * | #8271: the utf-8 decoder now outputs the correct number of U+FFFD ↵ | Ezio Melotti | 2012-11-04 | 1 | -30/+62 |
| | | | | | | | | characters when used with the "replace" error handler on invalid utf-8 sequences. Patch by Serhiy Storchaka, tests by Ezio Melotti. | ||||
* | | Issue #12805: Make bytes.join and bytearray.join faster when the separator ↵ | Antoine Pitrou | 2012-10-20 | 1 | -0/+10 |
| | | | | | | | | | | | | is empty. Patch by Serhiy Storchaka. | ||||
* | | Issue #16166: Add PY_LITTLE_ENDIAN and PY_BIG_ENDIAN macros and unified | Christian Heimes | 2012-10-17 | 1 | -3/+3 |
| | | | | | | | | endianess detection and handling. | ||||
* | | Issue #15958: bytes.join and bytearray.join now accept arbitrary buffer objects. | Antoine Pitrou | 2012-10-16 | 1 | -0/+122 |
|/ | |||||
* | Issue #15144: Fix possible integer overflow when handling pointers as ↵ | Antoine Pitrou | 2012-09-20 | 3 | -18/+10 |
| | | | | | | integer values, by using Py_uintptr_t instead of size_t. Patch by Serhiy Storchaka. | ||||
* | Close #15534: Fix a typo in the fast search function of the string library ↵ | Victor Stinner | 2012-08-02 | 1 | -5/+5 |
| | | | | | | (_s => s) Replace _s with ptr to avoid future confusion. Add also non regression tests. | ||||
* | Use correct types for ASCII_CHAR_MASK integer constants. | Mark Dickinson | 2012-07-07 | 2 | -4/+4 |
| | |||||
* | Issue #14923: Optimize continuation-byte check in UTF-8 decoding. Patch by ↵ | Mark Dickinson | 2012-06-23 | 1 | -6/+10 |
| | | | | Serhiy Storchaka. | ||||
* | Make private function static (from `make smelly`) | Antoine Pitrou | 2012-06-21 | 1 | -1/+1 |
| | |||||
* | Issue #15026: utf-16 encoding is now significantly faster (up to 10x). | Antoine Pitrou | 2012-06-15 | 1 | -0/+64 |
| | | | | Patch by Serhiy Storchaka. | ||||
* | Issue #14993: Use standard "unsigned char" instead of a unsigned char bitfield | Victor Stinner | 2012-06-04 | 1 | -1/+1 |
| | |||||
* | Issue #14744: Use the new _PyUnicodeWriter internal API to speed up str%args ↵ | Victor Stinner | 2012-05-29 | 2 | -26/+22 |
| | | | | | | | | | | | | | | | | | 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. | ||||
* | Issue #14624: UTF-16 decoding is now 3x to 4x faster on various inputs. | Antoine Pitrou | 2012-05-15 | 1 | -1/+148 |
| | | | | Patch by Serhiy Storchaka. | ||||
* | Issue #14738: Speed-up UTF-8 decoding on non-ASCII data. Patch by Serhiy ↵ | Antoine Pitrou | 2012-05-10 | 6 | -78/+148 |
| | | | | Storchaka. | ||||
* | Rename unicode_write_t structure and its methods to "_PyUnicodeWriter" | Victor Stinner | 2012-05-09 | 1 | -9/+9 |
| | |||||
* | Issue #14744: Inline unicode_writer_write_char() and unicode_write_str() | Victor Stinner | 2012-05-09 | 1 | -10/+26 |
| | | | | | Optimize also PyUnicode_Format(): call unicode_writer_prepare() only once per argument. | ||||
* | Close #14716: str.format() now uses the new "unicode writer" API instead of the | Victor Stinner | 2012-05-07 | 1 | -41/+19 |
| | | | | PyAccu API. For example, it makes str.format() from 25% to 30% faster on Linux. | ||||
* | Issue #14387: Do not include accu.h from Python.h. | Antoine Pitrou | 2012-03-22 | 1 | -0/+1 |
|\ | |||||
* | | Issue #13706: Fix format(int, "n") for locale with non-ASCII thousands separator | Victor Stinner | 2012-02-23 | 8 | -66/+23 |
| | | | | | | | | | | | | | | | | | | | | | | * Decode thousands separator and decimal point using PyUnicode_DecodeLocale() (from the locale encoding), instead of decoding them implicitly from latin1 * Remove _PyUnicode_InsertThousandsGroupingLocale(), it was not used * Change _PyUnicode_InsertThousandsGrouping() API to return the maximum character if unicode is NULL * Replace MIN/MAX macros by Py_MIN/Py_MAX * stringlib/undef.h undefines STRINGLIB_IS_UNICODE * stringlib/localeutil.h only supports Unicode | ||||
* | | remove some usage of Py_UNICODE_TOUPPER/LOWER | Benjamin Peterson | 2012-01-12 | 6 | -12/+0 |
| | | |||||
* | | Issue #13624: Write a specialized UTF-8 encoder to allow more optimization | Victor Stinner | 2011-12-18 | 1 | -0/+197 |
| | | | | | | | | The main bottleneck was the PyUnicode_READ() macro. | ||||
* | | Issue #13623: Fix a performance regression introduced by issue #12170 in | Victor Stinner | 2011-12-18 | 1 | -10/+17 |
| | | | | | | | | | | bytes.find() and handle correctly OverflowError (raise the same ValueError than the error for -1). | ||||
* | | Replace PyUnicode_FromUnicode(NULL, 0) by PyUnicode_New(0, 0) | Victor Stinner | 2011-12-01 | 1 | -1/+1 |
| | | | | | | | | Create an empty string with the new Unicode API. | ||||
* | | Issue #13417: speed up utf-8 decoding by around 2x for the non-fully-ASCII case. | Antoine Pitrou | 2011-11-21 | 1 | -0/+156 |
| | | | | | | | | | | This almost catches up with pre-PEP 393 performance, when decoding needed only one pass. | ||||
* | | stringlib: remove unused STRINGLIB_FILL | Victor Stinner | 2011-11-20 | 6 | -6/+0 |
| | | |||||
* | | Replace PyUnicodeObject type by PyObject | Victor Stinner | 2011-11-03 | 1 | -12/+8 |
| | | | | | | | | | | * _PyUnicode_CheckConsistency() now takes a PyObject* instead of void* * Remove now useless casts to PyObject* | ||||
* | | Replace PyUnicodeObject* by PyObject* where it was irrevelant | Victor Stinner | 2011-10-23 | 1 | -4/+4 |
| | | | | | | | | | | | | A Unicode string can now be a PyASCIIObject, PyCompactUnicodeObject or PyUnicodeObject. Aliasing a PyASCIIObject* or PyCompactUnicodeObject* to PyUnicodeObject* is wrong | ||||
* | | Issue #12170: The count(), find(), rfind(), index() and rindex() methods | Antoine Pitrou | 2011-10-20 | 1 | -0/+43 |
| | | | | | | | | | | of bytes and bytearray objects now accept an integer between 0 and 255 as their first argument. Patch by Petri Lehtinen. |