From d6ab61062283b3ee5eac8da3a981b35e27938349 Mon Sep 17 00:00:00 2001 From: nella Date: Sun, 8 Mar 2026 11:57:41 +0100 Subject: [PATCH 1/2] Implement wall clock time meas. --- kernel/driver.cc | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/kernel/driver.cc b/kernel/driver.cc index fa78bad59..4444089f9 100644 --- a/kernel/driver.cc +++ b/kernel/driver.cc @@ -23,6 +23,7 @@ #define CXXOPTS_VECTOR_DELIMITER '\0' #include "libs/cxxopts/include/cxxopts.hpp" #include +#include #ifdef YOSYS_ENABLE_READLINE # include @@ -195,6 +196,7 @@ namespace Yosys { int main(int argc, char **argv) { + auto wall_clock_start = std::chrono::steady_clock::now(); std::string frontend_command = "auto"; std::string backend_command = "auto"; std::vector vlog_defines; @@ -700,9 +702,12 @@ int main(int argc, char **argv) meminfo = stringf(", MEM: %.2f MB peak", ru_buffer.ru_maxrss / (1024.0 * 1024.0)); #endif - log("End of script. Logfile hash: %s%sCPU: user %.2fs system %.2fs%s\n", hash, + double wall_seconds = std::chrono::duration( + std::chrono::steady_clock::now() - wall_clock_start).count(); + + log("End of script. Logfile hash: %s%sCPU: user %.2fs system %.2fs, wall: %.2fs%s\n", hash, stats_divider.c_str(), ru_buffer.ru_utime.tv_sec + 1e-6 * ru_buffer.ru_utime.tv_usec, - ru_buffer.ru_stime.tv_sec + 1e-6 * ru_buffer.ru_stime.tv_usec, meminfo.c_str()); + ru_buffer.ru_stime.tv_sec + 1e-6 * ru_buffer.ru_stime.tv_usec, wall_seconds, meminfo.c_str()); #endif log("%s\n", yosys_maybe_version()); From ee0461eb00d0249284e4750603061add3801b321 Mon Sep 17 00:00:00 2001 From: nella Date: Mon, 9 Mar 2026 15:23:46 +0100 Subject: [PATCH 2/2] Change time log format. --- kernel/driver.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/kernel/driver.cc b/kernel/driver.cc index 4444089f9..d76841909 100644 --- a/kernel/driver.cc +++ b/kernel/driver.cc @@ -705,9 +705,9 @@ int main(int argc, char **argv) double wall_seconds = std::chrono::duration( std::chrono::steady_clock::now() - wall_clock_start).count(); - log("End of script. Logfile hash: %s%sCPU: user %.2fs system %.2fs, wall: %.2fs%s\n", hash, - stats_divider.c_str(), ru_buffer.ru_utime.tv_sec + 1e-6 * ru_buffer.ru_utime.tv_usec, - ru_buffer.ru_stime.tv_sec + 1e-6 * ru_buffer.ru_stime.tv_usec, wall_seconds, meminfo.c_str()); + log("End of script. Logfile hash: %s%stime: %.2fs, user: %.2fs, system: %.2fs%s\n", hash, + stats_divider.c_str(), wall_seconds, ru_buffer.ru_utime.tv_sec + 1e-6 * ru_buffer.ru_utime.tv_usec, + ru_buffer.ru_stime.tv_sec + 1e-6 * ru_buffer.ru_stime.tv_usec, meminfo.c_str()); #endif log("%s\n", yosys_maybe_version());