Array capacity strange sizes in PoolManager in alpha 3.0

Hi guys!

Just made it to the alpha 3.0. Something strange happens with Array, i’m receiving log like that:

cocos2d: cocos2d: ccCArray: resizing ccArray capacity from [300] to [600].
cocos2d: cocos2d: ccCArray: resizing ccArray capacity from [600] to [1200].
cocos2d: cocos2d: ccCArray: resizing ccArray capacity from [1200] to [2400].
cocos2d: cocos2d: ccCArray: resizing ccArray capacity from [2400] to [4800].
cocos2d: cocos2d: ccCArray: resizing ccArray capacity from [4800] to [9600].
cocos2d: cocos2d: ccCArray: resizing ccArray capacity from [9600] to [19200].
cocos2d: cocos2d: ccCArray: resizing ccArray capacity from [19200] to [38400].

Whats interesting - call stack makes it to the:
void PoolManager::addObject(Object* object)
{
getCurReleasePool()->addObject(object);
}

It seems legit in the way that autorelease pool meant to be huge, yet same programm code (percreating alot of stuff once level is loaded) wasn’t generating such messages in 2.x and alpha0-pre.

Do anyone know the reason?

Writing that I realised that when I’m caching Monsters and stuff (avoiding on the fly creation) I probably shouldn’t set autorelease() to them, and make a heavy use of retain()-release()?

yet first question is valid still.

Uhm… why are you so confused? That’s a usual practice to increase the capacity of container wtih large chunks. For instance, every adequate implementation of std::vector does this, however usual it uses the exponential growth.
That’s done in purpose of amortization of the time required to add a new element. Otherwise, if the capacity is equal to size + 1, container will reallocate memory each time you add an element. That’s a HUGE overhead.

I’m confused with only the fact I didnt get those messages with previous versions of cocos2d-x while executing same code. So something must be changed out there and I want to know if it will affect my case (large preinitialisation of nodes) by any degree.