Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Cleanup PyUnicode_Contains() | Victor Stinner | 2013-04-14 | 1 | -11/+6 |
| | | | | | | * No need to double-check that strings are ready: test already done by PyUnicode_FromObject() * Remove useless kind variable (use kind1 instead) | ||||
* | Minor change: fix character in do_strip() for the ASCII case | Victor Stinner | 2013-04-14 | 1 | -2/+2 |
| | |||||
* | Cleanup PyUnicode_Append() | Victor Stinner | 2013-04-14 | 1 | -18/+14 |
| | | | | | | | * Check also that right is a Unicode object * call directly resize_compact() instead of unicode_resize() for a more explicit error handling, and to avoid testing some properties twice (ex: unicode_modifiable()) | ||||
* | PyUnicode_Join(): move use_memcpy test out of the loop to cleanup and ↵ | Victor Stinner | 2013-04-14 | 1 | -20/+28 |
| | | | | optimize the code | ||||
* | Optimize repr(str): use _PyUnicode_FastCopyCharacters() when no character is ↵ | Victor Stinner | 2013-04-14 | 1 | -69/+78 |
| | | | | escaped | ||||
* | Optimize ascii(str): don't encode/decode repr if repr is already ASCII | Victor Stinner | 2013-04-14 | 2 | -1/+4 |
| | |||||
* | stringlib: remove unused STRINGLIB_RESIZE macro | Victor Stinner | 2013-04-14 | 7 | -7/+0 |
| | |||||
* | Add _PyUnicodeWriter_WriteCharInline() | Victor Stinner | 2013-04-14 | 1 | -71/+35 |
| | |||||
* | Issue #16061: Speed up str.replace() for replacing 1-character strings. | Serhiy Storchaka | 2013-04-13 | 2 | -26/+91 |
| | |||||
* | Issue #17715: Merge fix from 3.3. | Mark Dickinson | 2013-04-13 | 1 | -0/+2 |
|\ | |||||
| * | Issue #17715: Add missing NULL Check to PyNumber_Long. | Mark Dickinson | 2013-04-13 | 1 | -0/+2 |
| | | |||||
* | | Issue #17643: Add __callback__ attribute to weakref.ref. | Mark Dickinson | 2013-04-13 | 1 | -1/+6 |
| | | |||||
* | | Issue #16447: Merge fix from 3.3. | Mark Dickinson | 2013-04-13 | 1 | -1/+4 |
|\ \ | |/ | |||||
| * | Issue #16447: Fix potential segfault when setting __name__ on a class. | Mark Dickinson | 2013-04-13 | 1 | -1/+4 |
| | | |||||
* | | Close #17693: Rewrite CJK decoders to use the _PyUnicodeWriter API instead of | Victor Stinner | 2013-04-11 | 1 | -0/+10 |
| | | | | | | | | | | | | the legacy Py_UNICODE API. Add also a new _PyUnicodeWriter_WriteChar() function. | ||||
* | | Fix supernumerary 's' in sys._debugmallocstats() output. | Antoine Pitrou | 2013-04-11 | 1 | -1/+1 |
|\ \ | |/ | |||||
| * | Fix supernumerary 's' in sys._debugmallocstats() output. | Antoine Pitrou | 2013-04-11 | 1 | -1/+1 |
| | | |||||
* | | merge 3.3 (#17669) | Benjamin Peterson | 2013-04-10 | 1 | -1/+1 |
|\ \ | |/ | |||||
| * | don't run frame if it has no stack (closes #17669) | Benjamin Peterson | 2013-04-10 | 1 | -1/+1 |
| | | |||||
* | | Issue #17615: On Windows (VS2010), Performances of wmemcmp() to compare Unicode | Victor Stinner | 2013-04-09 | 1 | -9/+0 |
| | | | | | | | | | | | | | | | | strings are not convincing. For UCS2 (16-bit wchar_t type), use a dummy loop instead of wmemcmp(). The dummy loop is as fast, or a little bit faster. wchar_t is only 16-bit long on Windows. wmemcmp() is still used for 32-bit wchar_t. | ||||
* | | replace(): only call PyUnicode_DATA(u) once | Victor Stinner | 2013-04-09 | 1 | -3/+4 |
| | | |||||
* | | Write super-fast version of str.strip(), str.lstrip() and str.rstrip() for ↵ | Victor Stinner | 2013-04-09 | 1 | -19/+45 |
| | | | | | | | | pure ASCII | ||||
* | | Don't calls macros in PyUnicode_WRITE() parameters | Victor Stinner | 2013-04-09 | 1 | -2/+10 |
| | | | | | | | | PyUnicode_WRITE() expands some parameters twice or more. | ||||
* | | Fix do_strip(): don't call PyUnicode_READ() in Py_UNICODE_ISSPACE() to not call | Victor Stinner | 2013-04-09 | 1 | -3/+10 |
| | | | | | | | | it twice | ||||
* | | Fix _PyUnicode_XStrip() | Victor Stinner | 2013-04-09 | 1 | -10/+18 |
| | | | | | | | | | | | | Inline the BLOOM_MEMBER() to only call PyUnicode_READ() only once (per loop iteration). Store also the length of the seperator in a variable to avoid calls to PyUnicode_GET_LENGTH(). | ||||
* | | Optimize PyUnicode_DecodeCharmap() | Victor Stinner | 2013-04-09 | 1 | -7/+9 |
| | | | | | | | | | | Avoid expensive PyUnicode_READ() and PyUnicode_WRITE(), manipulate pointers instead. | ||||
* | | Optimize make_bloom_mask(), used by str.strip(), str.lstrip() and str.rstrip() | Victor Stinner | 2013-04-09 | 1 | -5/+27 |
| | | | | | | | | | | Write specialized functions per Unicode kind to avoid the expensive PyUnicode_READ() macro. | ||||
* | | Use PyUnicode_READ() instead of PyUnicode_READ_CHAR() | Victor Stinner | 2013-04-09 | 1 | -6/+22 |
| | | | | | | | | | | "PyUnicode_READ_CHAR() is less efficient than PyUnicode_READ() because it calls PyUnicode_KIND() and might call it twice." according to its documentation. | ||||
* | | Add fast-path in PyUnicode_DecodeCharmap() for pure 8 bit encodings: | Victor Stinner | 2013-04-09 | 1 | -1/+26 |
| | | | | | | | | cp037, cp500 and iso8859_1 codecs | ||||
* | | Issue #17615: Comparing two Unicode strings now uses wmemcmp() when possible | Victor Stinner | 2013-04-08 | 1 | -0/+22 |
| | | | | | | | | | | wmemcmp() is twice faster than a dummy loop (342 usec vs 744 usec) on Fedora 18/x86_64, GCC 4.7.2. | ||||
* | | Issue #17615: Expand expensive PyUnicode_READ() macro in unicode_compare(): | Victor Stinner | 2013-04-08 | 1 | -17/+77 |
| | | | | | | | | write specialized functions for each combination of Unicode kinds. | ||||
* | | 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. | ||||
* | | Revert a premature patch for issue #14010 (changeset 846bd418aee5). | Serhiy Storchaka | 2013-04-06 | 1 | -5/+2 |
|\ \ | |/ | |||||
| * | Revert a premature patch for issue #14010 (changeset aaaf36026511). | Serhiy Storchaka | 2013-04-06 | 1 | -5/+2 |
| | | |||||
* | | Issue #14010: Fix a crash when iterating or deleting deeply nested filters | Serhiy Storchaka | 2013-04-06 | 1 | -2/+5 |
|\ \ | |/ | | | | | (builting and in itertools module, i.e. map(), itertools.chain(), etc). | ||||
| * | Issue #14010: Fix a crash when iterating or deleting deeply nested filters | Serhiy Storchaka | 2013-04-06 | 1 | -2/+5 |
| | | | | | | | | (builting and in itertools module, i.e. map(), itertools.chain(), etc). | ||||
* | | Issue #17469: Fix _Py_GetAllocatedBlocks() and sys.getallocatedblocks() when ↵ | Antoine Pitrou | 2013-04-05 | 1 | -3/+5 |
| | | | | | | | | running on valgrind. | ||||
* | | fix unused variable | Victor Stinner | 2013-04-03 | 1 | -1/+0 |
| | | |||||
* | | Close #16757: Avoid calling the expensive _PyUnicode_FindMaxChar() function | Victor Stinner | 2013-04-03 | 1 | -7/+10 |
| | | | | | | | | when possible | ||||
* | | Add _PyUnicodeWriter_WriteSubstring() function | Victor Stinner | 2013-04-02 | 2 | -21/+45 |
| | | | | | | | | | | | | | | | | | | 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 | ||||
* | | merge 3.3 (#17610) | Benjamin Peterson | 2013-04-01 | 1 | -112/+99 |
|\ \ | |/ | |||||
| * | list slotdefs in offset order rather than sorting them (closes #17610) | Benjamin Peterson | 2013-04-01 | 1 | -112/+99 |
| | | | | | | | | This means we can remove our usage of qsort() than relied on undefined behavior. | ||||
* | | Issue #17591: Use lowercase filenames when including Windows header files. | Antoine Pitrou | 2013-03-31 | 1 | -1/+1 |
| | | | | | | | | Patch by Roumen Petrov. | ||||
* | | merge | Raymond Hettinger | 2013-03-23 | 1 | -1/+4 |
|\ \ | |/ | |||||
| * | Issue 17447: Clarify that str.isidentifier doesn't check for reserved keywords. | Raymond Hettinger | 2013-03-23 | 1 | -1/+4 |
| | | |||||
* | | fix warning (closes #17327) | Benjamin Peterson | 2013-03-08 | 1 | -1/+1 |
| | | |||||
* | | Add PyDict_SetDefault. (closes #17327) | Benjamin Peterson | 2013-03-08 | 1 | -11/+23 |
| | | | | | | | | Patch by Stefan Behnel and I. | ||||
* | | (Merge 3.3) _PyUnicode_Writer() now also reuses Unicode singletons: | Victor Stinner | 2013-03-06 | 1 | -1/+1 |
|\ \ | |/ | | | | | empty string and latin1 single character | ||||
| * | _PyUnicode_Writer() now also reuses Unicode singletons: | Victor Stinner | 2013-03-06 | 1 | -1/+1 |
| | | | | | | | | empty string and latin1 single character | ||||
* | | Backed out changeset b9f7b1bf36aa | Victor Stinner | 2013-03-06 | 1 | -12/+7 |
| | |