Можно использовать декоратор, измеряющий время выполнения.
import time
from functools import wraps
from multiprocessing import Process
def timed(f):
@wraps(f)
def decorator(*args, **kwargs):
start = time.monotonic()
try:
return f(*args, **kwargs)
finally:
print('Execution time: ' + str(time.monotonic() - start))
return decorator
@timed
def example():
print('Start')
time.sleep(1)
print('Finish')
if __name__ == '__main__':
p = Process(target=example)
p.start()
p.join()
Если время нужно не выводить, а получить в переменную, то из декоратора можно возвращать кортеж, содержащий результат и время выполнения функции.