From e6ff30adeed7aee3a274f0c4ef1a0c0d69a44632 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sun, 23 Mar 2025 18:46:15 +0100 Subject: [PATCH] Modifying definition of Timer#memory_size on Linux to become resident size. --- src/gsi/gsi/gsiDeclTl.cc | 6 +++++- src/tl/tl/tlTimer.cc | 7 ++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/gsi/gsi/gsiDeclTl.cc b/src/gsi/gsi/gsiDeclTl.cc index e3a05295b..eae6d0629 100644 --- a/src/gsi/gsi/gsiDeclTl.cc +++ b/src/gsi/gsi/gsiDeclTl.cc @@ -147,7 +147,11 @@ Class decl_Timer ("tl", "Timer", gsi::method ("memory_size", &tl::Timer::memory_size, "@brief Gets the current memory usage of the process in Bytes\n" "\n" - "This method has been introduced in version 0.27." + "The returned value is the resident memory size on Linux and MacOS and " + "the working set size on Windows.\n" + "\n" + "This method has been introduced in version 0.27. The value has been changed " + "to be resident size (instead of virtual size) on Linux in version 0.30." ) + gsi::method ("user", &tl::Timer::sec_user, "@brief Returns the elapsed CPU time in user mode from start to stop in seconds\n" diff --git a/src/tl/tl/tlTimer.cc b/src/tl/tl/tlTimer.cc index c7cb1b11c..76c71ceff 100644 --- a/src/tl/tl/tlTimer.cc +++ b/src/tl/tl/tlTimer.cc @@ -245,8 +245,8 @@ Timer::memory_size () "%*d " // 0 "%*d " // itrealvalue "%*u " // starttime - "%lu " // vsize - "%*d " // rss + "%*u " // vsize + "%lu " // rss "%*u " // rlim "%*u " // startcode "%*u " // endcode @@ -270,7 +270,8 @@ Timer::memory_size () memsize = 0; } } - return size_t (memsize); + + return size_t (memsize) * size_t (getpagesize ()); #else # error Unsupported platform