Я сравнил производительность функции mean
модуля statistics
с простым методом sum(l)/len(l)
и обнаружил, что функция mean
по какой-то причине очень медленная. Я использовал timeit
с двумя фрагментами кода ниже, чтобы сравнить их, кто-нибудь знает, что вызывает огромную разницу в скорости выполнения? Я использую Python 3.5.
from timeit import repeat
print(min(repeat('mean(l)',
'''from random import randint; from statistics import mean; \
l=[randint(0, 10000) for i in range(10000)]''', repeat=20, number=10)))
Вышеприведенный код выполняется примерно за 0,043 секунды на моей машине.
from timeit import repeat
print(min(repeat('sum(l)/len(l)',
'''from random import randint; from statistics import mean; \
l=[randint(0, 10000) for i in range(10000)]''', repeat=20, number=10)))
Вышеприведенный код выполняется примерно на 0,000565 секунд на моей машине.