я получил следующий код:
from concurrent.futures import ThreadPoolExecutor, wait
import datetime
def calculate_mass(mass):
for _ in range(10000):
gravity = 9.8
weight = mass * gravity
def perform_calculations():
with ThreadPoolExecutor(3) as pool:
pool.map(calculate_mass, range(1000))
if __name__ == '__main__':
start = datetime.datetime.now()
perform_calculations()
end = datetime.datetime.now()
print((end - start).total_seconds())
на ядре i7 3-го поколения с оперативной памятью 8 ГБ требуется 1,6647 секунды * (ноутбук dell)
если изменить эту строку
weight = mass * gravity
до
return mass * gravity
неожиданно для завершения требуется 0,059083 секунды.
Кто-нибудь знает, почему это происходит?
править: Наверное, я устаю. я не заметил, что цикл заканчивался. мои плохие парни