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