For non-PODs at least, std::vector has to copy-construct each element. IIRC the STL does not optimize it away for PODs, and the simple for loop over a million elements takes time.