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?