> 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

Reply via email to