From: Daniel F. <dw...@as...> - 2005-11-30 20:50:38
|
I tried timing the subtraction of two TinyVector<double,3> variables with a profiler, c = a - b; (repeating this lots of times for the profiler) but I find that this takes twice as long as an equivalent lower-level set of expressions: c(0) = a(0) - b(0); c(1) = a(1) - b(1); c(2) = a(2) - b(2); I am using blitz-0.9, gcc 3.2.2, Linux, on an Intel Pentium 4. I have tried compiler options -O3 -falign-double -ffast-math -fstrict-aliasing -funroll-loops -fomit-frame-pointer. Is the slower performance for the high-level syntax expected, or does this indicate that I need to change something? I wonder if it could be the compiler (gcc vs. Intel), the compiler flags, or a faulty installation of blitz? Thanks, Dan |