Hacker News new | ask | show | jobs
by e12e 3644 days ago
Apparently neither cpython, pypy or gcc manage to remove the loop in this case. I actually think it is interesting that this "slow" code in cpython is within [ed: ~10x] of pypy/jit/machine code (c++ probably should do better, I'm not all that familiar with gcc - maybe -O3 isn't enough to try to unroll loops and/or try to vectorize).

Actually code like this arguably should be a win for a high-level language with an optimization pass; ideally the whole thing should be translated to a constant at compile-time.

1 comments

Ah right I think that's because the accumulator is a double. I missed that. I think it should still be possible but compilers probably don't bother.