Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | merge | Raymond Hettinger | 2015-07-20 | 1 | -1/+1 |
|\ | |||||
| * | merge | Raymond Hettinger | 2015-07-20 | 1 | -1/+1 |
| |\ | |||||
| | * | Issue #19663: Improve error message for defaultdict. | Raymond Hettinger | 2015-07-20 | 1 | -1/+1 |
| | | | |||||
| | * | Defer deleted item decref until after the deque is restored to a consistent ↵ | Raymond Hettinger | 2015-05-02 | 1 | -6/+6 |
| | | | | | | | | | | | | state. | ||||
| * | | Issue #16991: Add a C implementation of collections.OrderedDict. | Eric Snow | 2015-05-30 | 1 | -0/+3 |
| | | | |||||
* | | | Divisions-by-two for a positive Py_ssize_t compile more cleanly with >>1 ↵ | Raymond Hettinger | 2015-07-20 | 1 | -1/+1 |
| | | | | | | | | | | | | than /2. | ||||
* | | | Issue #16991: Add a C implementation of collections.OrderedDict. | Eric Snow | 2015-05-30 | 1 | -0/+3 |
|/ / | |||||
* | | fix refleak in deque_concat | Benjamin Peterson | 2015-04-04 | 1 | -2/+8 |
| | | |||||
* | | Issue 23793: Add deque support for __add__(), __mul__(), and __imul__(). | Raymond Hettinger | 2015-03-31 | 1 | -10/+123 |
| | | |||||
* | | Fix typo | Raymond Hettinger | 2015-03-25 | 1 | -1/+1 |
| | | |||||
* | | Minor code and comment cleanups. | Raymond Hettinger | 2015-03-25 | 1 | -21/+18 |
| | | |||||
* | | Improve and fix-up comments. | Raymond Hettinger | 2015-03-24 | 1 | -25/+46 |
| | | |||||
* | | Issue 23744: Minor speed-up for deque.__bool__(). | Raymond Hettinger | 2015-03-24 | 1 | -1/+24 |
| | | |||||
* | | Minor nit. Make the rotate() success/fail tests consistent. | Raymond Hettinger | 2015-03-21 | 1 | -3/+3 |
| | | |||||
* | | For safety, wait to decref deleted values until the deque state has been ↵ | Raymond Hettinger | 2015-03-21 | 1 | -4/+4 |
| | | | | | | | | restored. | ||||
* | | Fix minor formatting nits and remove unnecessary comment. | Raymond Hettinger | 2015-03-21 | 1 | -4/+3 |
| | | |||||
* | | Issue 23704: Add index(), copy(), and insert() to deques. Register deques ↵ | Raymond Hettinger | 2015-03-21 | 1 | -0/+91 |
| | | | | | | | | as a MutableSequence. | ||||
* | | Issue 23705: Improve the performance of __contains__ checks for deques. | Raymond Hettinger | 2015-03-20 | 1 | -1/+33 |
| | | |||||
* | | Minor neatening-up. Make assignments in same order a struct fields. ↵ | Raymond Hettinger | 2015-03-03 | 1 | -12/+12 |
| | | | | | | | | Line-up comments. | ||||
* | | Switch the state variable to unsigned for defined wrap-around behavior. | Raymond Hettinger | 2015-03-03 | 1 | -3/+3 |
| | | |||||
* | | Minor beautification. Move struct definitions to the top. Fix-up a comment. | Raymond Hettinger | 2015-03-03 | 1 | -15/+15 |
| | | |||||
* | | Minor code beautification. Replace macro with in-lineable functions. | Raymond Hettinger | 2015-03-03 | 1 | -20/+35 |
| | | |||||
* | | Beautify and better document the use of the size_t cast for bounds checking. | Raymond Hettinger | 2015-03-03 | 1 | -6/+12 |
| | | |||||
* | | Issue #23553: Use an unsigned cast to tighten-up the bounds checking logic. | Raymond Hettinger | 2015-03-01 | 1 | -2/+2 |
| | | |||||
* | | Need a (size_t) cast instead of (unsigned) to be big enough for a Py_ssize_t. | Raymond Hettinger | 2015-03-01 | 1 | -6/+12 |
| | | |||||
* | | Use unsigned division and modulo for item assignment as well. | Raymond Hettinger | 2015-03-01 | 1 | -4/+5 |
| | | |||||
* | | Convert one more division to unsigned arithmetic to speed-up deque_item(). | Raymond Hettinger | 2015-02-28 | 1 | -1/+3 |
| | | |||||
* | | Line missed in last checkin | Raymond Hettinger | 2015-02-28 | 1 | -1/+0 |
| | | |||||
* | | Since the index is always non-negative, use faster unsigned division and modulo. | Raymond Hettinger | 2015-02-27 | 1 | -3/+5 |
| | | |||||
* | | Bump the blocksize up from 62 to 64 to speed up the modulo calculation. | Raymond Hettinger | 2015-02-27 | 1 | -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 Hettinger | 2015-02-11 | 1 | -1/+1 |
| | | |||||
* | | Optimization guides suggest copying memory in an ascending direction when ↵ | Raymond Hettinger | 2015-02-02 | 1 | -3/+3 |
| | | | | | | | | possible. | ||||
* | | Add comment and make minor code clean-up to improve clarity. | Raymond Hettinger | 2014-05-18 | 1 | -3/+13 |
| | | |||||
* | | Issue #21101: Eliminate double hashing in the C code for collections.Counter(). | Raymond Hettinger | 2014-05-03 | 1 | -3/+14 |
| | | |||||
* | | Add implementation notes | Raymond Hettinger | 2014-04-23 | 1 | -1/+32 |
|/ | |||||
* | merge 3.3 (#20250) | Benjamin Peterson | 2014-01-14 | 1 | -1/+3 |
|\ | |||||
| * | correct defaultdict signature in docstring (closes #20250) | Benjamin Peterson | 2014-01-14 | 1 | -1/+3 |
| | | | | | | | | Patch from Andrew Barnert. | ||||
* | | Issue #19512: _count_elements() of _collections reuses PyId_get identifier | Victor Stinner | 2013-11-06 | 1 | -1/+1 |
| | | | | | | | | instead of literal "get" string | ||||
* | | merge | Raymond Hettinger | 2013-10-04 | 1 | -14/+15 |
|\ \ | |/ | |||||
| * | Issue #18594: Make the C code more closely match the pure python code. | Raymond Hettinger | 2013-10-04 | 1 | -14/+15 |
| | | |||||
* | | merge | Raymond Hettinger | 2013-10-02 | 1 | -18/+23 |
|\ \ | |/ | |||||
| * | Issue #18594: Fix the fallback path in collections.Counter(). | Raymond Hettinger | 2013-10-02 | 1 | -18/+23 |
| | | |||||
* | | merge | Raymond Hettinger | 2013-10-01 | 1 | -1/+15 |
|\ \ | |/ | |||||
| * | Issue #18594: Fix the fast path for collections.Counter(). | Raymond Hettinger | 2013-10-01 | 1 | -1/+15 |
| | | | | | | | | The path wasn't being taken due to an over-restrictive type check. | ||||
| * | Backport deque.rotate() improvements. | Raymond Hettinger | 2013-02-10 | 1 | -19/+73 |
| | | |||||
* | | Restore the data block size to 62. | Raymond Hettinger | 2013-07-28 | 1 | -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 NDEBUG | Raymond Hettinger | 2013-07-27 | 1 | -1/+1 |
| | | |||||
* | | Minor code simplification by eliminating an unnecessary temporary variable. | Raymond Hettinger | 2013-07-21 | 1 | -12/+6 |
| | | |||||
* | | Tweak the deque struct by moving the least used fields (maxlen and weakref) ↵ | Raymond Hettinger | 2013-07-14 | 1 | -1/+1 |
| | | | | | | | | to the end. | ||||
* | | Use a do-while loop in the inner loop for rotate (m is always greater than ↵ | Raymond Hettinger | 2013-07-14 | 1 | -2/+6 |
| | | | | | | | | zero). |