speed up readSubarray