Am 20.09.16 um 09:44 schrieb Peter Otten:
Stefan Behnel wrote:

Peter Otten schrieb am 19.09.2016 um 14:55:
In [7]: %%cython
def omega(int n):
    cdef long i
    cdef long result = 0
    for i in range(n): result += i
    return result
   ...:

In [8]: %timeit omega(100000)
10000 loops, best of 3: 91.6 µs per loop

Note that this is the worst benchmark ever. Any non-dump C compiler will
happily apply Young Gauß and calculate the result in constant time.

Is that optimization useful in an actual program or just a way to cheat in
benchmarks?

Good question, but I think this falls under "strength reduction" which is a useful optimization of tight loops in C.

However, I'm not convinced it did succeed here. An evaluation of the Gauß formula would run in a few *nanoseconds* on any moddern machine. It may take a microsecond to call a functino from Python. a hundred microseconds means that the loop does run.

        Christian


--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to