#include #include #include #include const size_t size = 1024; const int iterations = 1000000; typedef double RealType; template void arithmetic_benchmark(vector_t& v) { { vector_t tmp = v; for ( int i = 0; i < iterations; ++i) { tmp += v; tmp -= v; } } } int main() { { std::valarray v(size); boost::timer timer; arithmetic_benchmark(v); std::cout << timer.elapsed() << std::endl; } { boost::numeric::ublas::vector v; boost::timer timer; arithmetic_benchmark(v); std::cout << timer.elapsed() << std::endl; } return 0; }