codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
tronic@Kaidenn:/tmp$ for foo in `seq 3`; do echo Test $foo && g++ vec.cc -O3 -DTEST=$foo && time ./a.out; done Test 1 real 0m7.341s user 0m7.310s sys 0m0.030s Test 2 real 0m7.329s user 0m7.310s sys 0m0.010s Test 3 real 0m7.392s user 0m7.360s sys 0m0.030s tronic@Kaidenn:/tmp$ cat vec.cc #include <vector> int main() { int ret = 0; std::vector<int> vec(10000000, 3); for (int r = 0; r < 1000; ++r) { #if TEST==1 for (size_t i = 0; i < vec.size(); ++i) ret += vec.at(i); // With bounds checking #elif TEST==2 for (size_t i = 0; i < vec.size(); ++i) ret += vec[i]; // Without bounds checking #elif TEST==3 for (size_t i = 0, max = vec.size(); i < max; ++i) ret += vec[i]; // Optimized by hand #endif } return ret; }
Private
[
?
]
Run code
Submit