On 7 Dec 2009, at 01:25, Andrew Farmer wrote: > On 6 Dec 2009, at 13:57, jonat...@mugginsoft.com wrote: >> 1. GC is on. Does that mean that all allocations invocation by NS*/CF* will >> be in the auto_zone? > > Not necessarily. AppKit and CoreFoundation objects are still capable of > allocating unmanaged memory (via malloc(), for instance) for their use under > garbage collection, so long as they clean it up when they're done with it. > >> 2. Are the allocations accomplished using NSZoneMalloc and >> CFAllocatorAllocate? > > Not sure on this one - I'll defer to someone more knowledgable. > >> 3. grepping the heap(1) output shows little data allocated to NSText* >> instances. Is some of the 40MB of non-object data allocated by the NSText >> system? for glyph storage?` >> 4. If 3 is not utterly incorrect - why isn't the memory utilised by the >> NSText system flagged as being allocated by NSText*. > > All that #3 means is that the NSText objects themselves are small. heap(1) is > relatively simplistic - it can't determine that one allocated object "belongs > to" another. If a NSText object allocates a bunch of CTRun objects (for > instance), those allocation will be billed against CTRun, not NSText.
Thanks for the reply Andrew. A couple more! How does the heap manager even know that a particular allocation is associated with a certain class? Does it maintain a table that is updated whenever an allocation occurs? Whenever we create an instance of NSString we generally seem to receive a concrete instance of NSCFString. Presumably NSCFString has instance/structure variables in addition to malloced data to hold the character info. The NSCFString byte count is high so in this case heap(1) seems to be able to track the total memory allocated. I do use instruments(1) but heap(1) is also appealing because of its low impact/snapshot nature._______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com