Подсчитайте время, затрачиваемое каждым будущим методом в concurrent.futures - PullRequest
0 голосов
/ 12 октября 2019

У меня есть ThreadPoolExecutor с двумя рабочими:

from concurrent.futures import ThreadPoolExecutor
from concurrent.futures import wait

with ThreadPoolExecutor(max_workers=2) as executor:
     start_time = time()
     future_fuctions = [executor.submit(
        self._future_method_a,
        args1,
     ),
     executor.submit(
        self._future_method_b,
        args1,
     )]
     wait(future_fuctions)
     print('Max time taken by any future : {}'.format(time()-start_time)

Я хочу дождаться окончания выполнения обеих функций, прежде чем делать другие вещи, поэтому добавил wait(future_functions). Результаты, которые я могу использовать как

results_a = future_fuctions[0].result()
results_b = future_fuctions[1].result()

Максимальное время, затрачиваемое любыми будущими функциями, я могу вычислить с помощью time() - start_time, но я хотел вычислить индивидуальное время, взятое будущими функциями для _future_method_a и _future_method_b,Я не мог найти что-нибудь, это документы . Есть ли какая-нибудь утилита, которую я могу использовать для расчета индивидуального времени?

...