Couldn't the compiler optimise this still? Make two versions of the function, one with constant folding and one without. Then at runtime, check the value of the parameter and call the corresponding version.
Yes, a sufficiently smart compiler can always tell you’re doing a benchmark and delete it. It’s just unlikely.
Yes, a sufficiently smart compiler can always tell you’re doing a benchmark and delete it. It’s just unlikely.