Search code examples
cocoa-touchnsdatansmutabledatamemory-layout

Reserve contiguous space in memory with NSMutableData


How can I force NSMutableData to reserve contiguous memory, in the same section? I have a fair amout of data arriving piece by piece, and the performance is not satisfactory. The total size of my data will be constant.


Solution

  • NSMutableData should store all data contiguously. Internally it is using a "stretchy" buffer resized with realloc. You can create with [NSMutableData dataWithLength:];

    Why not use an NSData if the size is constant?

    Also why are you worrying about NSMutableData performance. Did instruments profile show a performance problem?