> On 27 Feb 2017, at 16:56, Jens Alfke <j...@mooseyard.com> wrote: > > >> On Feb 26, 2017, at 2:34 PM, Daryle Walker <dary...@mac.com> wrote: >> >> If I take a "subdata" of a memory-mapped (NS)Data, does it stay mapped (i.e. >> use a range and reference)? Or does a full copy get made? I'm thinking of >> making a parser be a sub-parser too, and this would make the difference >> between scanning the next megabyte or the rest-of-file (even if it's >> gigabytes). > > Whew … that’s definitely an implementation detail, and the sort of thing that > I’d imagine can change from one OS version to another. There are cases like > yours where this behavior can be hugely valuable, and others where it can be > a big performance problem (not so much with mapped data, but definitely with > heap allocations.) Even if you did some experiments today and found that it > works the way you want, there’s no guarantee it’ll keep working that way.
It isn’t NSData, but libdispatch’s dispatch_data_t might be a useful way forward. The dispatch_data_create(3) man page says it avoids "copying the represented memory as much as possible.” Chris _______________________________________________ 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: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com