А
a3 быстрее чем a2 по той же причине, работа с массивами Numpy и при этом один раз вычисляется
Size: a a a
А
d
d
time1 = timeit.timeit(stmt='np.array([squared_error2(x, y, w0, wi) for wi in w1])', setup=setup_code, number=100)Получаем
time2 = timeit.timeit(stmt='np.array([squared_error3(x, y, w0, wi) for wi in w1])', setup=setup_code, number=100)
time3 = timeit.timeit(stmt='squared_error3(x, y, w0, w1)', setup=setup_code, number=100)
print(time1, time2, time3)
print(time2 / time1, time3 / time1)
72.68429950899736 106.02993767800217 608.0612300240027То есть по убыванию скорости: a1, a2, a3. Внезапно a3 медленнее a2. А разница между a1 и a2 всего в полтора раза.
1.4587736057754408 8.365785102582336
d
d
ИР
DP
time1 = timeit.timeit(stmt='np.array([squared_error2(x, y, w0, wi) for wi in w1])', setup=setup_code, number=100)Получаем
time2 = timeit.timeit(stmt='np.array([squared_error3(x, y, w0, wi) for wi in w1])', setup=setup_code, number=100)
time3 = timeit.timeit(stmt='squared_error3(x, y, w0, w1)', setup=setup_code, number=100)
print(time1, time2, time3)
print(time2 / time1, time3 / time1)
72.68429950899736 106.02993767800217 608.0612300240027То есть по убыванию скорости: a1, a2, a3. Внезапно a3 медленнее a2. А разница между a1 и a2 всего в полтора раза.
1.4587736057754408 8.365785102582336
DP
d
DP
DP
DP
DP
DP
AW
BA
B
M
i