Чтобы зарегистрировать время вычисления каждой функции в вашем коде, вы можете использовать различные методы в зависимости от используемого языка программирования. Вот несколько примеров на разных языках:
-
Python:
import time def log_compute_time(func): def wrapper(*args, kwargs): start_time = time.time() result = func(*args, kwargs) end_time = time.time() compute_time = end_time - start_time print(f"{func.__name__} compute time: {compute_time} seconds") return result return wrapper @log_compute_time def ready_data_for_task(): # Your code here @log_compute_time def retrieve_data_from_tasks(): # Your code here -
JavaScript:
function logComputeTime(func) { return function() { console.time(func.name + ' compute time'); var result = func.apply(this, arguments); console.timeEnd(func.name + ' compute time'); return result; } } function readyDataForTask() { // Your code here } function retrieveDataFromTasks() { // Your code here } readyDataForTask = logComputeTime(readyDataForTask); retrieveDataFromTasks = logComputeTime(retrieveDataFromTasks); -
Java:
import java.util.function.Supplier; public class ComputeTimeLogger { public static <T> T logComputeTime(Supplier<T> function) { long startTime = System.nanoTime(); T result = function.get(); long endTime = System.nanoTime(); double computeTime = (endTime - startTime) / 1_000_000_000.0; System.out.println(function.getClass().getName() + " compute time: " + computeTime + " seconds"); return result; } } public class Main { public static void main(String[] args) { ComputeTimeLogger.logComputeTime(Main::readyDataForTask); ComputeTimeLogger.logComputeTime(Main::retrieveDataFromTasks); } private static void readyDataForTask() { // Your code here } private static void retrieveDataFromTasks() { // Your code here } }
Эти примеры демонстрируют, как обернуть ваши функции средствами журналирования, измеряющими время вычислений. Код выведет время вычисления в секундах для каждой функции при ее выполнении.