[swift-evolution] Mutability for Foundation types in Swift

Charles Srstka cocoadev at charlessoft.com
Fri Apr 22 22:48:28 CDT 2016

> On Apr 22, 2016, at 5:05 PM, Greg Parker <gparker at apple.com> wrote:
>> On Apr 22, 2016, at 2:36 PM, Charles Srstka via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
>> One comment:
>> "In the most common case where a developer does not provide a custom reference type, then the backing store is our existing NSData and NSMutableData implementations. This consolidates logic into one place and provides cheap bridging in many cases (see Bridging for more information).”
>> Would it not be more efficient to bridge to the C-based CFData and CFMutableData implementations instead, to avoid the object overhead?
> Not necessarily. Foundation often has less overhead than CF nowadays.

That’s interesting; I hadn’t known that. What causes that? My understanding had always been that the NS and CF objects, being toll-free bridged to each other, shared the same default implementations, with the only difference being that the NS versions involved the overhead from objc_msgSend() as well as, in many cases, an autorelease.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160422/cb525897/attachment.html>

More information about the swift-evolution mailing list