My tests ( https://docs.google.com/spreadsheet/ccc?key=0AvvkdgVbWvpZdHFudzdDT3NuYTRNTHlZZzRGZWYzMmc&usp=drive_web#gid=0 ) don't say that `std::for_each` is faster than `for()`.

*iteration* and *invocation* are 2 different tests and the results should not be mixed.

In *iteration* the slowest is: iterator with `begin() / end()` (which is basically what `std::for_each` does. And the fastest is `c++11 for()`
In *invocation* `std::for_each` and the old macro have more or less the same performance. But if we can avoid using it, that is great because `std::for_each` creates another frame in the stack.