Map will preallocate memory required for the array in a larger chunk than pushing into an array. It depends on how much real memory is assigned and allocated on your system and how fragmented it is. What does pre sizing the array for both map and push type builds do to your benchmark?