Hello guys,
After performing some C++ testing on vector iterators. I have found that the postfix-increment is faster.
Timings: Prefix 5.19s user time, Postfix 4.63s user time.Code:#include <vector> #include <stdlib.h> using namespace std; class TestClass { int var1, var2; float floatone; public: inline TestClass() {} }; #define USE_POSTFIX 1 int main( int argc, char *argv[ ] ) { vector<TestClass> vectorz( 10000 ); vector<TestClass>::iterator viterator; volatile int garbage = 0; for ( unsigned int i = 0; i < 10000; i += 1 ) { for ( viterator = vectorz.begin(); viterator != vectorz.end();) { garbage += 1; // make sure optimizer doesn't balete the loop #ifdef USE_POSTFIX viterator++; #else ++viterator; #endif } } }
Any of you guys know why this might be the case?



LinkBack URL
About LinkBacks



