Changeset: 8ccc2f4eef5f for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/8ccc2f4eef5f
Modified Files:
        gdk/ChangeLog.Mar2025
        gdk/gdk_bbp.c
        gdk/gdk_private.h
        gdk/gdk_utils.c
Branch: Mar2025
Log Message:

Display memory sizes for SIGUSR1 in human-readable format as well.


diffs (truncated from 381 to 300 lines):

diff --git a/gdk/ChangeLog.Mar2025 b/gdk/ChangeLog.Mar2025
--- a/gdk/ChangeLog.Mar2025
+++ b/gdk/ChangeLog.Mar2025
@@ -1,3 +1,7 @@
 # ChangeLog file for GDK
 # This file is updated with Maddlog
 
+* Tue Aug  5 2025 Sjoerd Mullender <[email protected]>
+- The SIGUSR1 output now displays counts for memory sizes in a
+  human-readable format next to the original byte counts.
+
diff --git a/gdk/gdk_bbp.c b/gdk/gdk_bbp.c
--- a/gdk/gdk_bbp.c
+++ b/gdk/gdk_bbp.c
@@ -4691,70 +4691,231 @@ BBPprintinfo(void)
        }
        BBPtmunlock();
        printf("BATs:\n");
+       char mbuf[24], vbuf[24];
        if (bats[1][1][1][1][1].nr > 0)
-               printf("fix, dirty, persistent, loaded, hot: %d bats, %zu 
virtual, %zu malloc\n", bats[1][1][1][1][1].nr, bats[1][1][1][1][1].vmsz, 
bats[1][1][1][1][1].sz);
+               printf("fix, dirty, persistent, loaded, hot: %d bats, %zu%s 
virtual, %zu%s malloc\n",
+                      bats[1][1][1][1][1].nr,
+                      bats[1][1][1][1][1].vmsz,
+                      humansize(bats[1][1][1][1][1].vmsz, vbuf, sizeof(vbuf)),
+                      bats[1][1][1][1][1].sz,
+                      humansize(bats[1][1][1][1][1].sz, mbuf, sizeof(mbuf)));
        if (bats[1][1][1][1][0].nr > 0)
-               printf("fix, dirty, persistent, not loaded, hot: %d bats, %zu 
virtual, %zu malloc\n", bats[1][1][1][1][0].nr, bats[1][1][1][1][0].vmsz, 
bats[1][1][1][1][0].sz);
+               printf("fix, dirty, persistent, not loaded, hot: %d bats, %zu%s 
virtual, %zu%s malloc\n",
+                      bats[1][1][1][1][0].nr,
+                      bats[1][1][1][1][0].vmsz,
+                      humansize(bats[1][1][1][1][0].vmsz, vbuf, sizeof(vbuf)),
+                      bats[1][1][1][1][0].sz,
+                      humansize(bats[1][1][1][1][0].sz, mbuf, sizeof(mbuf)));
        if (bats[1][1][1][0][1].nr > 0)
-               printf("fix, dirty, persistent, loaded, cold: %d bats, %zu 
virtual, %zu malloc\n", bats[1][1][1][0][1].nr, bats[1][1][1][0][1].vmsz, 
bats[1][1][1][0][1].sz);
+               printf("fix, dirty, persistent, loaded, cold: %d bats, %zu%s 
virtual, %zu%s malloc\n",
+                      bats[1][1][1][0][1].nr,
+                      bats[1][1][1][0][1].vmsz,
+                      humansize(bats[1][1][1][0][1].vmsz, vbuf, sizeof(vbuf)),
+                      bats[1][1][1][0][1].sz,
+                      humansize(bats[1][1][1][0][1].sz, mbuf, sizeof(mbuf)));
        if (bats[1][1][1][0][0].nr > 0)
-               printf("fix, dirty, persistent, not loaded, cold: %d bats, %zu 
virtual, %zu malloc\n", bats[1][1][1][0][0].nr, bats[1][1][1][0][0].vmsz, 
bats[1][1][1][0][0].sz);
+               printf("fix, dirty, persistent, not loaded, cold: %d bats, 
%zu%s virtual, %zu%s malloc\n",
+                      bats[1][1][1][0][0].nr,
+                      bats[1][1][1][0][0].vmsz,
+                      humansize(bats[1][1][1][0][0].vmsz, vbuf, sizeof(vbuf)),
+                      bats[1][1][1][0][0].sz,
+                      humansize(bats[1][1][1][0][0].sz, mbuf, sizeof(mbuf)));
        if (bats[1][1][0][1][1].nr > 0)
-               printf("fix, dirty, transient, loaded, hot: %d bats, %zu 
virtual, %zu malloc\n", bats[1][1][0][1][1].nr, bats[1][1][0][1][1].vmsz, 
bats[1][1][0][1][1].sz);
+               printf("fix, dirty, transient, loaded, hot: %d bats, %zu%s 
virtual, %zu%s malloc\n",
+                      bats[1][1][0][1][1].nr,
+                      bats[1][1][0][1][1].vmsz,
+                      humansize(bats[1][1][0][1][1].vmsz, vbuf, sizeof(vbuf)),
+                      bats[1][1][0][1][1].sz,
+                      humansize(bats[1][1][0][1][1].sz, mbuf, sizeof(mbuf)));
        if (bats[1][1][0][1][0].nr > 0)
-               printf("fix, dirty, transient, not loaded, hot: %d bats, %zu 
virtual, %zu malloc\n", bats[1][1][0][1][0].nr, bats[1][1][0][1][0].vmsz, 
bats[1][1][0][1][0].sz);
+               printf("fix, dirty, transient, not loaded, hot: %d bats, %zu%s 
virtual, %zu%s malloc\n",
+                      bats[1][1][0][1][0].nr,
+                      bats[1][1][0][1][0].vmsz,
+                      humansize(bats[1][1][0][1][0].vmsz, vbuf, sizeof(vbuf)),
+                      bats[1][1][0][1][0].sz,
+                      humansize(bats[1][1][0][1][0].sz, mbuf, sizeof(mbuf)));
        if (bats[1][1][0][0][1].nr > 0)
-               printf("fix, dirty, transient, loaded, cold: %d bats, %zu 
virtual, %zu malloc\n", bats[1][1][0][0][1].nr, bats[1][1][0][0][1].vmsz, 
bats[1][1][0][0][1].sz);
+               printf("fix, dirty, transient, loaded, cold: %d bats, %zu%s 
virtual, %zu%s malloc\n",
+                      bats[1][1][0][0][1].nr,
+                      bats[1][1][0][0][1].vmsz,
+                      humansize(bats[1][1][0][0][1].vmsz, vbuf, sizeof(vbuf)),
+                      bats[1][1][0][0][1].sz,
+                      humansize(bats[1][1][0][0][1].sz, mbuf, sizeof(mbuf)));
        if (bats[1][1][0][0][0].nr > 0)
-               printf("fix, dirty, transient, not loaded, cold: %d bats, %zu 
virtual, %zu malloc\n", bats[1][1][0][0][0].nr, bats[1][1][0][0][0].vmsz, 
bats[1][1][0][0][0].sz);
+               printf("fix, dirty, transient, not loaded, cold: %d bats, %zu%s 
virtual, %zu%s malloc\n",
+                      bats[1][1][0][0][0].nr,
+                      bats[1][1][0][0][0].vmsz,
+                      humansize(bats[1][1][0][0][0].vmsz, vbuf, sizeof(vbuf)),
+                      bats[1][1][0][0][0].sz,
+                      humansize(bats[1][1][0][0][0].sz, mbuf, sizeof(mbuf)));
        if (bats[1][0][1][1][1].nr > 0)
-               printf("fix, clean, persistent, loaded, hot: %d bats, %zu 
virtual, %zu malloc\n", bats[1][0][1][1][1].nr, bats[1][0][1][1][1].vmsz, 
bats[1][0][1][1][1].sz);
+               printf("fix, clean, persistent, loaded, hot: %d bats, %zu%s 
virtual, %zu%s malloc\n",
+                      bats[1][0][1][1][1].nr,
+                      bats[1][0][1][1][1].vmsz,
+                      humansize(bats[1][0][1][1][1].vmsz, vbuf, sizeof(vbuf)),
+                      bats[1][0][1][1][1].sz,
+                      humansize(bats[1][0][1][1][1].sz, mbuf, sizeof(mbuf)));
        if (bats[1][0][1][1][0].nr > 0)
-               printf("fix, clean, persistent, not loaded, hot: %d bats, %zu 
virtual, %zu malloc\n", bats[1][0][1][1][0].nr, bats[1][0][1][1][0].vmsz, 
bats[1][0][1][1][0].sz);
+               printf("fix, clean, persistent, not loaded, hot: %d bats, %zu%s 
virtual, %zu%s malloc\n",
+                      bats[1][0][1][1][0].nr,
+                      bats[1][0][1][1][0].vmsz,
+                      humansize(bats[1][0][1][1][0].vmsz, vbuf, sizeof(vbuf)),
+                      bats[1][0][1][1][0].sz,
+                      humansize(bats[1][0][1][1][0].sz, mbuf, sizeof(mbuf)));
        if (bats[1][0][1][0][1].nr > 0)
-               printf("fix, clean, persistent, loaded, cold: %d bats, %zu 
virtual, %zu malloc\n", bats[1][0][1][0][1].nr, bats[1][0][1][0][1].vmsz, 
bats[1][0][1][0][1].sz);
+               printf("fix, clean, persistent, loaded, cold: %d bats, %zu%s 
virtual, %zu%s malloc\n",
+                      bats[1][0][1][0][1].nr,
+                      bats[1][0][1][0][1].vmsz,
+                      humansize(bats[1][0][1][0][1].vmsz, vbuf, sizeof(vbuf)),
+                      bats[1][0][1][0][1].sz,
+                      humansize(bats[1][0][1][0][1].sz, mbuf, sizeof(mbuf)));
        if (bats[1][0][1][0][0].nr > 0)
-               printf("fix, clean, persistent, not loaded, cold: %d bats, %zu 
virtual, %zu malloc\n", bats[1][0][1][0][0].nr, bats[1][0][1][0][0].vmsz, 
bats[1][0][1][0][0].sz);
+               printf("fix, clean, persistent, not loaded, cold: %d bats, 
%zu%s virtual, %zu%s malloc\n",
+                      bats[1][0][1][0][0].nr,
+                      bats[1][0][1][0][0].vmsz,
+                      humansize(bats[1][0][1][0][0].vmsz, vbuf, sizeof(vbuf)),
+                      bats[1][0][1][0][0].sz,
+                      humansize(bats[1][0][1][0][0].sz, mbuf, sizeof(mbuf)));
        if (bats[1][0][0][1][1].nr > 0)
-               printf("fix, clean, transient, loaded, hot: %d bats, %zu 
virtual, %zu malloc\n", bats[1][0][0][1][1].nr, bats[1][0][0][1][1].vmsz, 
bats[1][0][0][1][1].sz);
+               printf("fix, clean, transient, loaded, hot: %d bats, %zu%s 
virtual, %zu%s malloc\n",
+                      bats[1][0][0][1][1].nr,
+                      bats[1][0][0][1][1].vmsz,
+                      humansize(bats[1][0][0][1][1].vmsz, vbuf, sizeof(vbuf)),
+                      bats[1][0][0][1][1].sz,
+                      humansize(bats[1][0][0][1][1].sz, mbuf, sizeof(mbuf)));
        if (bats[1][0][0][1][0].nr > 0)
-               printf("fix, clean, transient, not loaded, hot: %d bats, %zu 
virtual, %zu malloc\n", bats[1][0][0][1][0].nr, bats[1][0][0][1][0].vmsz, 
bats[1][0][0][1][0].sz);
+               printf("fix, clean, transient, not loaded, hot: %d bats, %zu%s 
virtual, %zu%s malloc\n",
+                      bats[1][0][0][1][0].nr,
+                      bats[1][0][0][1][0].vmsz,
+                      humansize(bats[1][0][0][1][0].vmsz, vbuf, sizeof(vbuf)),
+                      bats[1][0][0][1][0].sz,
+                      humansize(bats[1][0][0][1][0].sz, mbuf, sizeof(mbuf)));
        if (bats[1][0][0][0][1].nr > 0)
-               printf("fix, clean, transient, loaded, cold: %d bats, %zu 
virtual, %zu malloc\n", bats[1][0][0][0][1].nr, bats[1][0][0][0][1].vmsz, 
bats[1][0][0][0][1].sz);
+               printf("fix, clean, transient, loaded, cold: %d bats, %zu%s 
virtual, %zu%s malloc\n",
+                      bats[1][0][0][0][1].nr,
+                      bats[1][0][0][0][1].vmsz,
+                      humansize(bats[1][0][0][0][1].vmsz, vbuf, sizeof(vbuf)),
+                      bats[1][0][0][0][1].sz,
+                      humansize(bats[1][0][0][0][1].sz, mbuf, sizeof(mbuf)));
        if (bats[1][0][0][0][0].nr > 0)
-               printf("fix, clean, transient, not loaded, cold: %d bats, %zu 
virtual, %zu malloc\n", bats[1][0][0][0][0].nr, bats[1][0][0][0][0].vmsz, 
bats[1][0][0][0][0].sz);
+               printf("fix, clean, transient, not loaded, cold: %d bats, %zu%s 
virtual, %zu%s malloc\n",
+                      bats[1][0][0][0][0].nr,
+                      bats[1][0][0][0][0].vmsz,
+                      humansize(bats[1][0][0][0][0].vmsz, vbuf, sizeof(vbuf)),
+                      bats[1][0][0][0][0].sz,
+                      humansize(bats[1][0][0][0][0].sz, mbuf, sizeof(mbuf)));
        if (bats[0][1][1][1][1].nr > 0)
-               printf("no fix, dirty, persistent, loaded, hot: %d bats, %zu 
virtual, %zu malloc\n", bats[0][1][1][1][1].nr, bats[0][1][1][1][1].vmsz, 
bats[0][1][1][1][1].sz);
+               printf("no fix, dirty, persistent, loaded, hot: %d bats, %zu%s 
virtual, %zu%s malloc\n",
+                      bats[0][1][1][1][1].nr,
+                      bats[0][1][1][1][1].vmsz,
+                      humansize(bats[0][1][1][1][1].vmsz, vbuf, sizeof(vbuf)),
+                      bats[0][1][1][1][1].sz,
+                      humansize(bats[0][1][1][1][1].sz, mbuf, sizeof(mbuf)));
        if (bats[0][1][1][1][0].nr > 0)
-               printf("no fix, dirty, persistent, not loaded, hot: %d bats, 
%zu virtual, %zu malloc\n", bats[0][1][1][1][0].nr, bats[0][1][1][1][0].vmsz, 
bats[0][1][1][1][0].sz);
+               printf("no fix, dirty, persistent, not loaded, hot: %d bats, 
%zu%s virtual, %zu%s malloc\n",
+                      bats[0][1][1][1][0].nr,
+                      bats[0][1][1][1][0].vmsz,
+                      humansize(bats[0][1][1][1][0].vmsz, vbuf, sizeof(vbuf)),
+                      bats[0][1][1][1][0].sz,
+                      humansize(bats[0][1][1][1][0].sz, mbuf, sizeof(mbuf)));
        if (bats[0][1][1][0][1].nr > 0)
-               printf("no fix, dirty, persistent, loaded, cold: %d bats, %zu 
virtual, %zu malloc\n", bats[0][1][1][0][1].nr, bats[0][1][1][0][1].vmsz, 
bats[0][1][1][0][1].sz);
+               printf("no fix, dirty, persistent, loaded, cold: %d bats, %zu%s 
virtual, %zu%s malloc\n",
+                      bats[0][1][1][0][1].nr,
+                      bats[0][1][1][0][1].vmsz,
+                      humansize(bats[0][1][1][0][1].vmsz, vbuf, sizeof(vbuf)),
+                      bats[0][1][1][0][1].sz,
+                      humansize(bats[0][1][1][0][1].sz, mbuf, sizeof(mbuf)));
        if (bats[0][1][1][0][0].nr > 0)
-               printf("no fix, dirty, persistent, not loaded, cold: %d bats, 
%zu virtual, %zu malloc\n", bats[0][1][1][0][0].nr, bats[0][1][1][0][0].vmsz, 
bats[0][1][1][0][0].sz);
+               printf("no fix, dirty, persistent, not loaded, cold: %d bats, 
%zu%s virtual, %zu%s malloc\n",
+                      bats[0][1][1][0][0].nr,
+                      bats[0][1][1][0][0].vmsz,
+                      humansize(bats[0][1][1][0][0].vmsz, vbuf, sizeof(vbuf)),
+                      bats[0][1][1][0][0].sz,
+                      humansize(bats[0][1][1][0][0].sz, mbuf, sizeof(mbuf)));
        if (bats[0][1][0][1][1].nr > 0)
-               printf("no fix, dirty, transient, loaded, hot: %d bats, %zu 
virtual, %zu malloc\n", bats[0][1][0][1][1].nr, bats[0][1][0][1][1].vmsz, 
bats[0][1][0][1][1].sz);
+               printf("no fix, dirty, transient, loaded, hot: %d bats, %zu%s 
virtual, %zu%s malloc\n",
+                      bats[0][1][0][1][1].nr,
+                      bats[0][1][0][1][1].vmsz,
+                      humansize(bats[0][1][0][1][1].vmsz, vbuf, sizeof(vbuf)),
+                      bats[0][1][0][1][1].sz,
+                      humansize(bats[0][1][0][1][1].sz, mbuf, sizeof(mbuf)));
        if (bats[0][1][0][1][0].nr > 0)
-               printf("no fix, dirty, transient, not loaded, hot: %d bats, %zu 
virtual, %zu malloc\n", bats[0][1][0][1][0].nr, bats[0][1][0][1][0].vmsz, 
bats[0][1][0][1][0].sz);
+               printf("no fix, dirty, transient, not loaded, hot: %d bats, 
%zu%s virtual, %zu%s malloc\n",
+                      bats[0][1][0][1][0].nr,
+                      bats[0][1][0][1][0].vmsz,
+                      humansize(bats[0][1][0][1][0].vmsz, vbuf, sizeof(vbuf)),
+                      bats[0][1][0][1][0].sz,
+                      humansize(bats[0][1][0][1][0].sz, mbuf, sizeof(mbuf)));
        if (bats[0][1][0][0][1].nr > 0)
-               printf("no fix, dirty, transient, loaded, cold: %d bats, %zu 
virtual, %zu malloc\n", bats[0][1][0][0][1].nr, bats[0][1][0][0][1].vmsz, 
bats[0][1][0][0][1].sz);
+               printf("no fix, dirty, transient, loaded, cold: %d bats, %zu%s 
virtual, %zu%s malloc\n",
+                      bats[0][1][0][0][1].nr,
+                      bats[0][1][0][0][1].vmsz,
+                      humansize(bats[0][1][0][0][1].vmsz, vbuf, sizeof(vbuf)),
+                      bats[0][1][0][0][1].sz,
+                      humansize(bats[0][1][0][0][1].sz, mbuf, sizeof(mbuf)));
        if (bats[0][1][0][0][0].nr > 0)
-               printf("no fix, dirty, transient, not loaded, cold: %d bats, 
%zu virtual, %zu malloc\n", bats[0][1][0][0][0].nr, bats[0][1][0][0][0].vmsz, 
bats[0][1][0][0][0].sz);
+               printf("no fix, dirty, transient, not loaded, cold: %d bats, 
%zu%s virtual, %zu%s malloc\n",
+                      bats[0][1][0][0][0].nr,
+                      bats[0][1][0][0][0].vmsz,
+                      humansize(bats[0][1][0][0][0].vmsz, vbuf, sizeof(vbuf)),
+                      bats[0][1][0][0][0].sz,
+                      humansize(bats[0][1][0][0][0].sz, mbuf, sizeof(mbuf)));
        if (bats[0][0][1][1][1].nr > 0)
-               printf("no fix, clean, persistent, loaded, hot: %d bats, %zu 
virtual, %zu malloc\n", bats[0][0][1][1][1].nr, bats[0][0][1][1][1].vmsz, 
bats[0][0][1][1][1].sz);
+               printf("no fix, clean, persistent, loaded, hot: %d bats, %zu%s 
virtual, %zu%s malloc\n",
+                      bats[0][0][1][1][1].nr,
+                      bats[0][0][1][1][1].vmsz,
+                      humansize(bats[0][0][1][1][1].vmsz, vbuf, sizeof(vbuf)),
+                      bats[0][0][1][1][1].sz,
+                      humansize(bats[0][0][1][1][1].sz, mbuf, sizeof(mbuf)));
        if (bats[0][0][1][1][0].nr > 0)
-               printf("no fix, clean, persistent, not loaded, hot: %d bats, 
%zu virtual, %zu malloc\n", bats[0][0][1][1][0].nr, bats[0][0][1][1][0].vmsz, 
bats[0][0][1][1][0].sz);
+               printf("no fix, clean, persistent, not loaded, hot: %d bats, 
%zu%s virtual, %zu%s malloc\n",
+                      bats[0][0][1][1][0].nr,
+                      bats[0][0][1][1][0].vmsz,
+                      humansize(bats[0][0][1][1][0].vmsz, vbuf, sizeof(vbuf)),
+                      bats[0][0][1][1][0].sz,
+                      humansize(bats[0][0][1][1][0].sz, mbuf, sizeof(mbuf)));
        if (bats[0][0][1][0][1].nr > 0)
-               printf("no fix, clean, persistent, loaded, cold: %d bats, %zu 
virtual, %zu malloc\n", bats[0][0][1][0][1].nr, bats[0][0][1][0][1].vmsz, 
bats[0][0][1][0][1].sz);
+               printf("no fix, clean, persistent, loaded, cold: %d bats, %zu%s 
virtual, %zu%s malloc\n",
+                      bats[0][0][1][0][1].nr,
+                      bats[0][0][1][0][1].vmsz,
+                      humansize(bats[0][0][1][0][1].vmsz, vbuf, sizeof(vbuf)),
+                      bats[0][0][1][0][1].sz,
+                      humansize(bats[0][0][1][0][1].sz, mbuf, sizeof(mbuf)));
        if (bats[0][0][1][0][0].nr > 0)
-               printf("no fix, clean, persistent, not loaded, cold: %d bats, 
%zu virtual, %zu malloc\n", bats[0][0][1][0][0].nr, bats[0][0][1][0][0].vmsz, 
bats[0][0][1][0][0].sz);
+               printf("no fix, clean, persistent, not loaded, cold: %d bats, 
%zu%s virtual, %zu%s malloc\n",
+                      bats[0][0][1][0][0].nr,
+                      bats[0][0][1][0][0].vmsz,
+                      humansize(bats[0][0][1][0][0].vmsz, vbuf, sizeof(vbuf)),
+                      bats[0][0][1][0][0].sz,
+                      humansize(bats[0][0][1][0][0].sz, mbuf, sizeof(mbuf)));
        if (bats[0][0][0][1][1].nr > 0)
-               printf("no fix, clean, transient, loaded, hot: %d bats, %zu 
virtual, %zu malloc\n", bats[0][0][0][1][1].nr, bats[0][0][0][1][1].vmsz, 
bats[0][0][0][1][1].sz);
+               printf("no fix, clean, transient, loaded, hot: %d bats, %zu%s 
virtual, %zu%s malloc\n",
+                      bats[0][0][0][1][1].nr,
+                      bats[0][0][0][1][1].vmsz,
+                      humansize(bats[0][0][0][1][1].vmsz, vbuf, sizeof(vbuf)),
+                      bats[0][0][0][1][1].sz,
+                      humansize(bats[0][0][0][1][1].sz, mbuf, sizeof(mbuf)));
        if (bats[0][0][0][1][0].nr > 0)
-               printf("no fix, clean, transient, not loaded, hot: %d bats, %zu 
virtual, %zu malloc\n", bats[0][0][0][1][0].nr, bats[0][0][0][1][0].vmsz, 
bats[0][0][0][1][0].sz);
+               printf("no fix, clean, transient, not loaded, hot: %d bats, 
%zu%s virtual, %zu%s malloc\n",
+                      bats[0][0][0][1][0].nr,
+                      bats[0][0][0][1][0].vmsz,
+                      humansize(bats[0][0][0][1][0].vmsz, vbuf, sizeof(vbuf)),
+                      bats[0][0][0][1][0].sz,
+                      humansize(bats[0][0][0][1][0].sz, mbuf, sizeof(mbuf)));
        if (bats[0][0][0][0][1].nr > 0)
-               printf("no fix, clean, transient, loaded, cold: %d bats, %zu 
virtual, %zu malloc\n", bats[0][0][0][0][1].nr, bats[0][0][0][0][1].vmsz, 
bats[0][0][0][0][1].sz);
+               printf("no fix, clean, transient, loaded, cold: %d bats, %zu%s 
virtual, %zu%s malloc\n",
+                      bats[0][0][0][0][1].nr,
+                      bats[0][0][0][0][1].vmsz,
+                      humansize(bats[0][0][0][0][1].vmsz, vbuf, sizeof(vbuf)),
+                      bats[0][0][0][0][1].sz,
+                      humansize(bats[0][0][0][0][1].sz, mbuf, sizeof(mbuf)));
        if (bats[0][0][0][0][0].nr > 0)
-               printf("no fix, clean, transient, not loaded, cold: %d bats, 
%zu virtual, %zu malloc\n", bats[0][0][0][0][0].nr, bats[0][0][0][0][0].vmsz, 
bats[0][0][0][0][0].sz);
+               printf("no fix, clean, transient, not loaded, cold: %d bats, 
%zu%s virtual, %zu%s malloc\n",
+                      bats[0][0][0][0][0].nr,
+                      bats[0][0][0][0][0].vmsz,
+                      humansize(bats[0][0][0][0][0].vmsz, vbuf, sizeof(vbuf)),
+                      bats[0][0][0][0][0].sz,
+                      humansize(bats[0][0][0][0][0].sz, mbuf, sizeof(mbuf)));
 
        printf("%d bats total, %d in use, %"PRIu32" free bats in common shared 
list\n",
               sz - 1, nbats, nfree);
diff --git a/gdk/gdk_private.h b/gdk/gdk_private.h
--- a/gdk/gdk_private.h
+++ b/gdk/gdk_private.h
@@ -215,6 +215,8 @@ void HEAP_recover(Heap *, const var_t *,
 gdk_return HEAPsave(Heap *h, const char *nme, const char *ext, bool dosync, 
BUN free, MT_Lock *lock)
        __attribute__((__warn_unused_result__))
        __attribute__((__visibility__("hidden")));
+char *humansize(size_t val, char *buf, size_t buflen)
+       __attribute__((__visibility__("hidden")));
 double joincost(BAT *r, BUN lcount, struct canditer *rci, bool *hash, bool 
*phash, bool *cand)
        __attribute__((__visibility__("hidden")));
 void STRMPincref(Strimps *strimps)
diff --git a/gdk/gdk_utils.c b/gdk/gdk_utils.c
--- a/gdk/gdk_utils.c
+++ b/gdk/gdk_utils.c
@@ -2016,6 +2016,22 @@ GDKprintinforegister(void (*func)(void))
        *pp = p;
 }
 
+char *
+humansize(size_t val, char *buf, size_t buflen)
+{
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to