[Python-checkins] python/dist/src/Misc NEWS,1.933,1.934

rhettinger at users.sourceforge.net rhettinger at users.sourceforge.net
Sat Feb 14 13:34:48 EST 2004


Update of /cvsroot/python/python/dist/src/Misc
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv945/Misc

Modified Files:
	NEWS 
Log Message:
Fine tune the speed/space trade-off for overallocating small lists.

The Py2.3 approach overallocated small lists by up to 8 elements.
The last checkin would limited this to one but slowed down (by 20 to 30%)
the creation of small lists between 3 to 8 elements.  

This tune-up balances the two, limiting overallocation to 3 elements
(significantly reducing space consumption from Py2.3) and running faster
than the previous checkin.  

The first part of the growth pattern (0, 4, 8, 16) neatly meshes with 
allocators that trigger data movement only when crossing a power of two 
boundary.  Also, then even numbers mesh well with common data alignments.



Index: NEWS
===================================================================
RCS file: /cvsroot/python/python/dist/src/Misc/NEWS,v
retrieving revision 1.933
retrieving revision 1.934
diff -C2 -d -r1.933 -r1.934
*** NEWS	14 Feb 2004 00:02:45 -0000	1.933
--- NEWS	14 Feb 2004 18:34:46 -0000	1.934
***************
*** 20,25 ****
  - Changed the internal list over-allocation scheme.  For larger lists,
    overallocation ranged between 3% and 25%.  Now, it is a constant 12%.
!   For smaller lists (n<=5), overallocation was upto eight bytes.  Now,
!   the overallocation is no more than one byte -- this improves space
    utilization for applications that have large numbers of small lists.
  
--- 20,25 ----
  - Changed the internal list over-allocation scheme.  For larger lists,
    overallocation ranged between 3% and 25%.  Now, it is a constant 12%.
!   For smaller lists (n<8), overallocation was upto eight elements.  Now,
!   the overallocation is no more than three elements -- this improves space
    utilization for applications that have large numbers of small lists.
  




More information about the Python-checkins mailing list