summaryrefslogtreecommitdiffstats
path: root/Modules/_collectionsmodule.c
Commit message (Collapse)AuthorAgeFilesLines
* Issue #28123: _PyDict_GetItem_KnownHash() now can raise an exception asSerhiy Storchaka2016-11-061-0/+2
| | | | PyDict_GetItemWithError(). Patch by Xiang Zhang.
* Revert part of 3471a3515827 that caused a performance regressionRaymond Hettinger2016-09-121-8/+44
|
* Avoid inefficient way to call functions without argumentVictor Stinner2016-09-061-1/+1
| | | | | | Don't pass "()" format to PyObject_CallXXX() to call a function without argument: pass NULL as the format string instead. It avoids to have to parse a string to produce 0 argument.
* - Modules/_collectionsmodule.c: Mark one more internal symbol as static.doko@ubuntu.com2016-06-141-1/+1
|
* - make some internal symbols staticdoko@ubuntu.com2016-05-171-1/+1
|
* Issue #26482: Allowed pickling recursive dequeues.Serhiy Storchaka2016-03-061-18/+18
|
* More logicial order. Move space saving step to just before it is used.Raymond Hettinger2016-03-041-14/+14
|
* Factor-out common subexpression.Raymond Hettinger2016-03-021-3/+3
|
* Put block length computations in a more logical order.Raymond Hettinger2016-03-021-2/+2
|
* Issue #26200: The SETREF macro adds unnecessary work in some cases.Raymond Hettinger2016-02-091-1/+4
|
* mergeRaymond Hettinger2016-02-021-5/+2
|
* mergeRaymond Hettinger2016-01-271-0/+7
|\
| * Issue #26194: Fix undefined behavior for deque.insert() when len(d) == maxlenRaymond Hettinger2016-01-271-0/+7
| |
* | Convert another post-decrement while-loop to pre-decrement for consistencyRaymond Hettinger2016-01-241-1/+2
| | | | | | | | and better generated code (on both GCC and CLang).
* | Convert two other post-decrement while-loops to pre-decrements for consistencyRaymond Hettinger2016-01-241-2/+4
| | | | | | | | and for better code generation.
* | Miscellaneous refactoringsRaymond Hettinger2016-01-241-65/+58
| | | | | | | | | | | | | | | | * Add comment to the maxlen structure entry about the meaning of maxlen == -1 * Factor-out code common to deque_append(left) and deque_extend(left) * Factor inner-loop in deque_clear() to use only 1 test per loop instead of 2 * Tighten inner-loops for deque_item() and deque_ass_item() so that the compiler can combine the decrement and test into a single step.
* | merge 3.5Benjamin Peterson2016-01-011-2/+0
|\ \ | |/
| * merge 3.4Benjamin Peterson2016-01-011-2/+0
| |\
| | * merge 3.3Benjamin Peterson2016-01-011-2/+0
| | |\
| | | * remove some copyright notices supserseded by the toplevel onesBenjamin Peterson2016-01-011-2/+0
| | | |
* | | | Issue #20440: Cleaning up the code by using Py_SETREF and Py_CLEAR.Serhiy Storchaka2015-12-271-4/+1
| | | | | | | | | | | | | | | | | | | | Old code is correct, but with Py_SETREF and Py_CLEAR it can be cleaner. This patch doesn't fix bugs and hence there is no need to backport it.
* | | | Issue #25421: __sizeof__ methods of builtin types now use dynamic basic size.Serhiy Storchaka2015-12-191-1/+1
|\ \ \ \ | |/ / / | | | | | | | | | | | | This allows sys.getsize() to work correctly with their subclasses with __slots__ defined.
| * | | Issue #25421: __sizeof__ methods of builtin types now use dynamic basic size.Serhiy Storchaka2015-12-191-1/+1
| | | | | | | | | | | | | | | | | | | | This allows sys.getsize() to work correctly with their subclasses with __slots__ defined.
* | | | Neaten-up the inner-loop logic.Raymond Hettinger2015-11-041-3/+3
| | | |
* | | | Minor cleanup.Raymond Hettinger2015-11-021-1/+1
| | | |
* | | | mergeRaymond Hettinger2015-11-021-1/+1
|\ \ \ \
| * \ \ \ Issue #25523: Merge a-to-an corrections from 3.5Martin Panter2015-11-021-1/+1
| |\ \ \ \ | | |/ / /
| | * | | Issue #25523: Further a-to-an corrections new in 3.5Martin Panter2015-11-021-1/+1
| | | | |
| | * | | Backport early-out 91259f061cfb to reduce the cost of bb1a2944bcb6Raymond Hettinger2015-10-071-1/+5
| | | | |
* | | | | Move the initial start-search out of the main loop so it can be factored-out ↵Raymond Hettinger2015-11-021-16/+27
|/ / / / | | | | | | | | | | | | later.
* | | | Removed unused parameterRaymond Hettinger2015-10-231-10/+10
| | | |
* | | | Only update the state variable once per iteration.Raymond Hettinger2015-10-201-4/+8
| | | |
* | | | Issue #25414: Remove unnecessary tests that can never succeed.Raymond Hettinger2015-10-171-15/+1
| | | |
* | | | Remove old Todo entry that isn't going to happen.Raymond Hettinger2015-10-161-6/+0
| | | |
* | | | Rewrap comment.Raymond Hettinger2015-10-151-4/+4
| | | |
* | | | Use unsigned divisionRaymond Hettinger2015-10-151-1/+1
| | | |
* | | | Improve variable names and constant expressionsRaymond Hettinger2015-10-151-9/+11
| | | |
* | | | Minor fixup. maxlen is already known.Raymond Hettinger2015-10-121-2/+2
| | | |
* | | | Refactor the deque trim logic to eliminate the two separate trim functions.Raymond Hettinger2015-10-121-25/+14
| | | |
* | | | Hoist the deque->maxlen lookup out of the inner-loop.Raymond Hettinger2015-10-111-6/+10
| | | |
* | | | Minor tweak. Make the maxlen comparisons a little more clear and consistent.Raymond Hettinger2015-10-111-6/+6
| | | |
* | | | Eliminate unnecessary testRaymond Hettinger2015-10-061-1/+1
| | | |
* | | | Factor out common iterator finalization codeRaymond Hettinger2015-10-031-25/+20
| | | |
* | | | Add fast paths to deque_init() for the common casesRaymond Hettinger2015-10-011-3/+10
| | | |
* | | | Add an early-out for deque_clear()Raymond Hettinger2015-09-301-0/+3
| | | |
* | | | Move the copy and clear functions upwards to eliminate unnecessary forward ↵Raymond Hettinger2015-09-271-117/+113
| | | | | | | | | | | | | | | | references.
* | | | Minor tweak to the order of variable updates.Raymond Hettinger2015-09-271-2/+2
| | | |
* | | | Bump up the maximum number of freeblocksRaymond Hettinger2015-09-271-1/+1
| | | |
* | | | Precomputing the number iterations allows the inner-loop to be vectorizable.Raymond Hettinger2015-09-261-2/+6
| | | |
* | | | Hoist constant expression out of an inner loop.Raymond Hettinger2015-09-261-6/+18
| | | |