NumPy performance: uint8 vs. float and multiplication vs. division?

后端 未结 4 1216
暖寄归人
暖寄归人 2021-02-02 14:50

I have just noticed that the execution time of a script of mine nearly halves by only changing a multiplication to a division.

To investigate this, I have written a smal

4条回答
  •  小鲜肉
    小鲜肉 (楼主)
    2021-02-02 15:13

    It's the very first operation that will typically take longer before "warming up" (e.g. memory allocated, caching).

    See the same effect using the reverse order of dividing and multiplying:

    >>> print_time("arrdiv", timeit.timeit("arrdiv(arr2)", "from __main__ import arrdiv, arr2", number=timeit_iterations))
    >>> print_time("arrmult", timeit.timeit("arrmult(arr2)", "from __main__ import arrmult, arr2", number=timeit_iterations))
    
    arrdiv:  3.2630s
    arrmult:  2.5873s
    

提交回复
热议问题