Я хочу написать функцию, которая печатает время выполнения любой другой функции, которая принимает в качестве аргумента наряду с параметрами. Пример моей идеи в python для лучшего понимания:
def runtimer(func , *args, **kwargs):
start = time.time()
result = func(*args, **kwargs)
print(time.time() - start)
return result
runtimer(time.sleep, 1)
Output: 1.000108242034912
Я пытаюсь использовать параметр val: _*
, но он реализует «все или ничего». По-другому я проверил print
функцию в источнике scala github, но я не нашел ничего подходящего для моего вопроса.
Я хотел бы знать, возможно ли это решить на scala или получить любой совет. Также будет полезна реализация java.
Спасибо!
UPD: я оставлю здесь несколько наиболее полезных ссылок: первая для наиболее похожей реализации, вторая максимальная для вычисления времени выполнения JVM (по комментариям): 1) Как профилировать методы в Scala? 2) Scala: функция для измерения времени выполнения любой другой функции
Вопрос еще открыт, жду обсуждений