I'm currently writing an application which needs to perform as good as it can be.
Then grab a profiler and look where the real bottlenecks are. In optimized code (Release mode), of course.
-O2 is not everything in VS2012: there are several #defines
that manipulate the behavior of standard container iterators wrt to bounds checking and other security checks. You might want to look them up ("checked iterators" and "secure SCL" might lead you to the right sites) and set them accordingly.
But I very much doubt that the iteration over containers will be your bottleneck, there will be other sections of code that are more sensitive to performance issues.