Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								3a1a8d0424 
								
							 
						 
						
							
							
								
								Eliminate unnecessary variables  
							
							 
							
							
							
						 
						
							2015-09-23 02:42:02 -07:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								7a237230d1 
								
							 
						 
						
							
							
								
								Eliminate unnecessary variable  
							
							 
							
							
							
						 
						
							2015-09-22 01:20:36 -07:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								d3d2b2c50c 
								
							 
						 
						
							
							
								
								Minor consistency improvements to negative value comparisons.  
							
							 
							
							
							
						 
						
							2015-09-21 23:41:56 -07:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								aed8830af3 
								
							 
						 
						
							
							
								
								Add a fast path (no iterator creation) for a common case for repeating deques of size 1  
							
							 
							
							
							
						 
						
							2015-09-19 09:05:42 -07:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								0e14e6610b 
								
							 
						 
						
							
							
								
								Hoist constant expression out of an inner loop  
							
							 
							
							
							
						 
						
							2015-09-19 00:21:33 -06:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								ad26225e1a 
								
							 
						 
						
							
							
								
								Tighten inner-loop for deque_inplace_repeat().  
							
							 
							
							
							
						 
						
							2015-09-14 01:03:04 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								e4f3467df1 
								
							 
						 
						
							
							
								
								Add an exact type match fast path for deque_copy().  
							
							 
							
							
							
						 
						
							2015-09-13 19:27:01 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								95e2cc5d12 
								
							 
						 
						
							
							
								
								Fix refcount.  
							
							 
							
							
							
						 
						
							2015-09-13 02:41:18 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								67c78b5421 
								
							 
						 
						
							
							
								
								In-line the append operations inside deque_inplace_repeat().  
							
							 
							
							
							
						 
						
							2015-09-12 11:00:20 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								f5d72f35e8 
								
							 
						 
						
							
							
								
								Simply deque repeat by reusing code in in-line repeat.  Avoid unnecessary division.  
							
							 
							
							
							
						 
						
							2015-09-09 22:39:44 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								318c5aef0e 
								
							 
						 
						
							
							
								
								merge  
							
							 
							
							
							
						 
						
							2015-09-05 17:06:18 -07:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								2b2b75374e 
								
							 
						 
						
							
							
								
								Prevent reentrant badness by deferring the decrefs as long as possible.  
							
							 
							
							
							
						 
						
							2015-09-05 17:05:52 -07:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								7a1a0bbbf1 
								
							 
						 
						
							
							
								
								merge  
							
							 
							
							
							
						 
						
							2015-08-26 08:09:50 -07:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								87674ec7d5 
								
							 
						 
						
							
							
								
								Issue  #24913 : Fix overrun error in deque.index().  
							
							 
							
							
							
						 
						
							2015-08-26 08:08:38 -07:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								28c995d03b 
								
							 
						 
						
							
							
								
								Minor cleanup.  
							
							 
							
							
							
						 
						
							2015-08-14 02:07:41 -07:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								12f896c521 
								
							 
						 
						
							
							
								
								Fix minor typo in a comment  
							
							 
							
							
							
						 
						
							2015-07-31 12:03:20 -07:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								aa23fa2e21 
								
							 
						 
						
							
							
								
								merge  
							
							 
							
							
							
						 
						
							2015-07-20 03:11:16 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								043e800860 
								
							 
						 
						
							
							
								
								merge  
							
							 
							
							
							
						 
						
							2015-07-20 03:10:48 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								239aba7874 
								
							 
						 
						
							
							
								
								Issue  #19663 : Improve error message for defaultdict.  
							
							 
							
							
							
						 
						
							2015-07-20 03:09:22 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								cfe5b6ca04 
								
							 
						 
						
							
							
								
								Divisions-by-two for a positive Py_ssize_t compile more cleanly with >>1 than /2.  
							
							 
							
							
							
						 
						
							2015-07-20 00:25:50 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eric Snow 
								
							 
						 
						
							
							
							
							
								
							
							
								96c6af9b20 
								
							 
						 
						
							
							
								
								Issue  #16991 : Add a C implementation of collections.OrderedDict.  
							
							 
							
							
							
						 
						
							2015-05-29 22:21:39 -06:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eric Snow 
								
							 
						 
						
							
							
							
							
								
							
							
								47db71756d 
								
							 
						 
						
							
							
								
								Issue  #16991 : Add a C implementation of collections.OrderedDict.  
							
							 
							
							
							
						 
						
							2015-05-29 22:21:39 -06:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								c6249a6268 
								
							 
						 
						
							
							
								
								Defer deleted item decref until after the deque is restored to a consistent state.  
							
							 
							
							
							
						 
						
							2015-05-02 10:44:17 -07:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Benjamin Peterson 
								
							 
						 
						
							
							
							
							
								
							
							
								1a6292194b 
								
							 
						 
						
							
							
								
								fix refleak in deque_concat  
							
							 
							
							
							
						 
						
							2015-04-04 10:52:36 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								41290a68ba 
								
							 
						 
						
							
							
								
								Issue 23793:  Add deque support for __add__(), __mul__(), and __imul__().  
							
							 
							
							
							
						 
						
							2015-03-31 08:12:23 -07:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								fef9c1b368 
								
							 
						 
						
							
							
								
								Fix typo  
							
							 
							
							
							
						 
						
							2015-03-24 21:12:57 -07:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								8dbbae2e52 
								
							 
						 
						
							
							
								
								Minor code and comment cleanups.  
							
							 
							
							
							
						 
						
							2015-03-24 21:01:50 -07:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								551350a79f 
								
							 
						 
						
							
							
								
								Improve and fix-up comments.  
							
							 
							
							
							
						 
						
							2015-03-24 00:19:53 -07:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								0f1451c8c0 
								
							 
						 
						
							
							
								
								Issue 23744:  Minor speed-up for deque.__bool__().  
							
							 
							
							
							
						 
						
							2015-03-23 23:23:55 -07:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								6921c13bbb 
								
							 
						 
						
							
							
								
								Minor nit.  Make the rotate() success/fail tests consistent.  
							
							 
							
							
							
						 
						
							2015-03-21 02:03:40 -07:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								ac13ad6a32 
								
							 
						 
						
							
							
								
								For safety, wait to decref deleted values until the deque state has been restored.  
							
							 
							
							
							
						 
						
							2015-03-21 01:53:16 -07:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								0f6f94778a 
								
							 
						 
						
							
							
								
								Fix minor formatting nits and remove unnecessary comment.  
							
							 
							
							
							
						 
						
							2015-03-21 01:42:10 -07:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								32ea16577d 
								
							 
						 
						
							
							
								
								Issue 23704:  Add index(), copy(), and insert() to deques.  Register deques as a MutableSequence.  
							
							 
							
							
							
						 
						
							2015-03-21 01:37:37 -07:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								39dadf7abf 
								
							 
						 
						
							
							
								
								Issue 23705:  Improve the performance of __contains__ checks for deques.  
							
							 
							
							
							
						 
						
							2015-03-20 16:38:56 -07:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								87e691240b 
								
							 
						 
						
							
							
								
								Minor neatening-up.  Make assignments in same order a struct fields.  Line-up comments.  
							
							 
							
							
							
						 
						
							2015-03-02 23:32:02 -08:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								f9d9c79aa8 
								
							 
						 
						
							
							
								
								Switch the state variable to unsigned for defined wrap-around behavior.  
							
							 
							
							
							
						 
						
							2015-03-02 22:47:46 -08:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								30c9074b96 
								
							 
						 
						
							
							
								
								Minor beautification.  Move struct definitions to the top.  Fix-up a comment.  
							
							 
							
							
							
						 
						
							2015-03-02 22:31:35 -08:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								f30f5b9ba6 
								
							 
						 
						
							
							
								
								Minor code beautification.  Replace macro with in-lineable functions.  
							
							 
							
							
							
						 
						
							2015-03-02 22:23:37 -08:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								3c186ba441 
								
							 
						 
						
							
							
								
								Beautify and better document the use of the size_t cast for bounds checking.  
							
							 
							
							
							
						 
						
							2015-03-02 21:45:02 -08:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								7f9ea7543e 
								
							 
						 
						
							
							
								
								Issue  #23553 :  Use an unsigned cast to tighten-up the bounds checking logic.  
							
							 
							
							
							
						 
						
							2015-03-01 00:38:00 -08:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								c20830804d 
								
							 
						 
						
							
							
								
								Need a (size_t) cast instead of (unsigned) to be big enough for a Py_ssize_t.  
							
							 
							
							
							
						 
						
							2015-02-28 23:29:16 -08:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								a473b9da15 
								
							 
						 
						
							
							
								
								Use unsigned division and modulo for item assignment as well.  
							
							 
							
							
							
						 
						
							2015-02-28 17:49:47 -08:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								63d1ff2a0b 
								
							 
						 
						
							
							
								
								Convert one more division to unsigned arithmetic to speed-up deque_item().  
							
							 
							
							
							
						 
						
							2015-02-28 07:41:30 -08:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								7e8c7956a7 
								
							 
						 
						
							
							
								
								Line missed in last checkin  
							
							 
							
							
							
						 
						
							2015-02-27 16:59:29 -08:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								da2850f932 
								
							 
						 
						
							
							
								
								Since the index is always non-negative, use faster unsigned division and modulo.  
							
							 
							
							
							
						 
						
							2015-02-27 12:42:54 -08:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								daf57f25e5 
								
							 
						 
						
							
							
								
								Bump the blocksize up from 62 to 64 to speed up the modulo calculation.  
							
							 
							
							... 
							
							
							
							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. 
							
						 
						
							2015-02-26 23:21:29 -08:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								eb6b554fbc 
								
							 
						 
						
							
							
								
								Update copyright.  
							
							 
							
							
							
						 
						
							2015-02-10 22:37:22 -06:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								0e259f18f7 
								
							 
						 
						
							
							
								
								Optimization guides suggest copying memory in an ascending direction when possible.  
							
							 
							
							
							
						 
						
							2015-02-01 22:53:41 -08:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								507d997714 
								
							 
						 
						
							
							
								
								Add comment and make minor code clean-up to improve clarity.  
							
							 
							
							
							
						 
						
							2014-05-18 21:32:40 +01:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								4b0b1accb5 
								
							 
						 
						
							
							
								
								Issue  #21101 :  Eliminate double hashing in the C code for collections.Counter().  
							
							 
							
							
							
						 
						
							2014-05-03 16:41:19 -07:00