Я понял, что np.power(a, b)
медленнее, чем np.exp(b * np.log(a))
:
import numpy as np
a, b = np.random.random((2, 100000))
%timeit np.power(a, b) # best of 3: 4.16 ms per loop
%timeit np.exp(b * np.log(a)) # best of 3: 1.74 ms per loop
Результаты те же (с несколькими численными ошибками порядка 1е-16).
Какая дополнительная работа выполняется в np.power
? Кроме того, как я могу найти ответ на эти вопросы самостоятельно?