summaryrefslogtreecommitdiffstats
path: root/Modules/_collectionsmodule.c
Commit message (Collapse)AuthorAgeFilesLines
* mergeRaymond Hettinger2015-07-201-1/+1
|\
| * mergeRaymond Hettinger2015-07-201-1/+1
| |\
| | * Issue #19663: Improve error message for defaultdict.Raymond Hettinger2015-07-201-1/+1
| | |
| | * Defer deleted item decref until after the deque is restored to a consistent ↵Raymond Hettinger2015-05-021-6/+6
| | | | | | | | | | | | state.
| * | Issue #16991: Add a C implementation of collections.OrderedDict.Eric Snow2015-05-301-0/+3
| | |
* | | Divisions-by-two for a positive Py_ssize_t compile more cleanly with >>1 ↵Raymond Hettinger2015-07-201-1/+1
| | | | | | | | | | | | than /2.
* | | Issue #16991: Add a C implementation of collections.OrderedDict.Eric Snow2015-05-301-0/+3
|/ /
* | fix refleak in deque_concatBenjamin Peterson2015-04-041-2/+8
| |
* | Issue 23793: Add deque support for __add__(), __mul__(), and __imul__().Raymond Hettinger2015-03-311-10/+123
| |
* | Fix typoRaymond Hettinger2015-03-251-1/+1
| |
* | Minor code and comment cleanups.Raymond Hettinger2015-03-251-21/+18
| |
* | Improve and fix-up comments.Raymond Hettinger2015-03-241-25/+46
| |
* | Issue 23744: Minor speed-up for deque.__bool__().Raymond Hettinger2015-03-241-1/+24
| |
* | Minor nit. Make the rotate() success/fail tests consistent.Raymond Hettinger2015-03-211-3/+3
| |
* | For safety, wait to decref deleted values until the deque state has been ↵Raymond Hettinger2015-03-211-4/+4
| | | | | | | | restored.
* | Fix minor formatting nits and remove unnecessary comment.Raymond Hettinger2015-03-211-4/+3
| |
* | Issue 23704: Add index(), copy(), and insert() to deques. Register deques ↵Raymond Hettinger2015-03-211-0/+91
| | | | | | | | as a MutableSequence.
* | Issue 23705: Improve the performance of __contains__ checks for deques.Raymond Hettinger2015-03-201-1/+33
| |
* | Minor neatening-up. Make assignments in same order a struct fields. ↵Raymond Hettinger2015-03-031-12/+12
| | | | | | | | Line-up comments.
* | Switch the state variable to unsigned for defined wrap-around behavior.Raymond Hettinger2015-03-031-3/+3
| |
* | Minor beautification. Move struct definitions to the top. Fix-up a comment.Raymond Hettinger2015-03-031-15/+15
| |
* | Minor code beautification. Replace macro with in-lineable functions.Raymond Hettinger2015-03-031-20/+35
| |
* | Beautify and better document the use of the size_t cast for bounds checking.Raymond Hettinger2015-03-031-6/+12
| |
* | Issue #23553: Use an unsigned cast to tighten-up the bounds checking logic.Raymond Hettinger2015-03-011-2/+2
| |
* | Need a (size_t) cast instead of (unsigned) to be big enough for a Py_ssize_t.Raymond Hettinger2015-03-011-6/+12
| |
* | Use unsigned division and modulo for item assignment as well.Raymond Hettinger2015-03-011-4/+5
| |
* | Convert one more division to unsigned arithmetic to speed-up deque_item().Raymond Hettinger2015-02-281-1/+3
| |
* | Line missed in last checkinRaymond Hettinger2015-02-281-1/+0
| |
* | Since the index is always non-negative, use faster unsigned division and modulo.Raymond Hettinger2015-02-271-3/+5
| |
* | Bump the blocksize up from 62 to 64 to speed up the modulo calculation.Raymond Hettinger2015-02-271-6/+3
| | | | | | | | | | | | | | | | | | Remove the old comment suggesting that it was desireable to have blocksize+2 as a multiple of the cache line length. That would have made sense only if the block structure start point was always aligned to a cache line boundary. However, the memory allocations are 16 byte aligned, so we don't really have control over whether the struct spills across cache line boundaries.
* | Update copyright.Raymond Hettinger2015-02-111-1/+1
| |
* | Optimization guides suggest copying memory in an ascending direction when ↵Raymond Hettinger2015-02-021-3/+3
| | | | | | | | possible.
* | Add comment and make minor code clean-up to improve clarity.Raymond Hettinger2014-05-181-3/+13
| |
* | Issue #21101: Eliminate double hashing in the C code for collections.Counter().Raymond Hettinger2014-05-031-3/+14
| |
* | Add implementation notesRaymond Hettinger2014-04-231-1/+32
|/
* merge 3.3 (#20250)Benjamin Peterson2014-01-141-1/+3
|\
| * correct defaultdict signature in docstring (closes #20250)Benjamin Peterson2014-01-141-1/+3
| | | | | | | | Patch from Andrew Barnert.
* | Issue #19512: _count_elements() of _collections reuses PyId_get identifierVictor Stinner2013-11-061-1/+1
| | | | | | | | instead of literal "get" string
* | mergeRaymond Hettinger2013-10-041-14/+15
|\ \ | |/
| * Issue #18594: Make the C code more closely match the pure python code.Raymond Hettinger2013-10-041-14/+15
| |
* | mergeRaymond Hettinger2013-10-021-18/+23
|\ \ | |/
| * Issue #18594: Fix the fallback path in collections.Counter().Raymond Hettinger2013-10-021-18/+23
| |
* | mergeRaymond Hettinger2013-10-011-1/+15
|\ \ | |/
| * Issue #18594: Fix the fast path for collections.Counter().Raymond Hettinger2013-10-011-1/+15
| | | | | | | | The path wasn't being taken due to an over-restrictive type check.
| * Backport deque.rotate() improvements.Raymond Hettinger2013-02-101-19/+73
| |
* | Restore the data block size to 62.Raymond Hettinger2013-07-281-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | The former block size traded away good fit within cache lines in order to gain faster division in deque_item(). However, compilers are getting smarter and can now replace the slow division operation with a fast integer multiply and right shift. Accordingly, it makes sense to go back to a size that lets blocks neatly fill entire cache-lines. GCC-4.8 and CLANG 4.0 both compute "x // 62" with something roughly equivalent to "x * 9520900167075897609 >> 69".
* | Assertions key off NDEBUGRaymond Hettinger2013-07-271-1/+1
| |
* | Minor code simplification by eliminating an unnecessary temporary variable.Raymond Hettinger2013-07-211-12/+6
| |
* | Tweak the deque struct by moving the least used fields (maxlen and weakref) ↵Raymond Hettinger2013-07-141-1/+1
| | | | | | | | to the end.
* | Use a do-while loop in the inner loop for rotate (m is always greater than ↵Raymond Hettinger2013-07-141-2/+6
| | | | | | | | zero).