I definitely concur that tools like Instruments are the best way to understand 
the impact of decisions on memory across the board.  For fine-grained inquiries 
about memory use you can also rely on malloc family functions to make inquiries:

let required_size = malloc_size(unsafeAddressOf(object_reference))
let actual_size = malloc_good_size(required_size)

Kate Stone k8st...@apple.com <mailto:k8st...@apple.com>
 Xcode Low Level Tools

> On Mar 23, 2016, at 3:59 PM, Howard Lovatt via swift-users 
> <swift-users@swift.org> wrote:
> 
> Thanks, I will give that a try
> 
>   -- Howard.
> 
> On 24 March 2016 at 03:17, Jens Alfke <j...@mooseyard.com 
> <mailto:j...@mooseyard.com>> wrote:
> 
>> On Mar 22, 2016, at 11:04 PM, Howard Lovatt via swift-users 
>> <swift-users@swift.org <mailto:swift-users@swift.org>> wrote:
>> 
>> I am writing custom collection classes and trying to assess which one is 
>> better, both in terms of performance and memory usage. Won't be used in 
>> 'real' code, just to guide development.
> 
> You might consider using heap profiling tools too, like (on Mac OS) the 
> Instruments app or the `heap` command-line tool. If you use these while 
> running a benchmark app using your API, it can show you how much total heap 
> space gets used.
> 
> Actual heap usage can differ from the raw “sizeof” a data type, since 
> allocators will often round up block sizes or return a somewhat larger block 
> than necessary. Heap fragmentation can also increase memory usage beyond what 
> you’d expect, and different allocation patterns can affect fragmentation.
> 
> —Jens
> 
> _______________________________________________
> swift-users mailing list
> swift-users@swift.org
> https://lists.swift.org/mailman/listinfo/swift-users

_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users

Reply via email to