nebo_norm has very poor performance
As an example, replace examples/field_reductions.cpp with this file . That adds timers and increases the problem size. This problem (in the modification attached) does two key operations:
f <<= sqrt(x*x + y*y + z*z);
const double fnorm = nebo_norm( f );
These two operations are roughly equal from a computational cost standpoint. Here are the timing summaries from the attached file run on my laptop:
operation | f <<= sqrt(x*x + y*y + z*z) |
nebo_norm(f) |
---|---|---|
time (s) on my laptop | 0.000635 | 0.0246 |
Note that the norm calculation is much slower than it should be when compared to a calculation of similar complexity.
@michaelb do you have any ideas why we might be seeing this?