[phobos] newCapacity function in array appending

Steve Schveighoffer schveiguy at yahoo.com
Tue Jul 13 12:54:09 PDT 2010


There is a couple issues with the growth rate of arrays in the array append 
function.

First, the newCapacity function is only called when the array must be 
reallocated.  I believe this to be an error, I think the newCapacity function 
should always be used, even if pages can be added.  This would use less cycles 
searching for pages to append.

Second, the newCapacity function seems to use the size of the element to 
determine a percentage growth.  I feel this is an error.  I think the growth 
factor should strictly be related to the amount of memory being requested, which 
already takes into account the size of the element.

At present, this means that arrays of ints grow 4x as fast as arrays of bytes.  
And that's 4x in percentage terms, not in 4x the memory used.  The memory used 
actually grows 16x faster.

Does everyone agree with this?

The relevant bug for this is http://d.puremagic.com/issues/show_bug.cgi?id=4412

-Steve



      


More information about the phobos mailing list