From: Daniel Stenberg Date: Wed, 26 Jan 2022 10:05:45 +0000 (+0100) Subject: tests/memanalyze.pl: also count and show "total allocations" X-Git-Tag: curl-7_82_0~179 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4bf593a0de27505a41480766d1923ce4948e02e4;p=thirdparty%2Fcurl.git tests/memanalyze.pl: also count and show "total allocations" This is the total number of bytes allocated, increasing for new allocations and never reduced when freed. The existing "Maximum allocated" is the high water mark. Closes #8330 --- diff --git a/tests/memanalyze.pl b/tests/memanalyze.pl index 714594a173..0a0d9045e8 100755 --- a/tests/memanalyze.pl +++ b/tests/memanalyze.pl @@ -6,7 +6,7 @@ # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # -# Copyright (C) 1998 - 2020, Daniel Stenberg, , et al. +# Copyright (C) 1998 - 2022, Daniel Stenberg, , et al. # # This software is licensed as described in the file COPYING, which # you should have received as part of this distribution. The terms @@ -56,7 +56,8 @@ while(1) { } } -my $maxmem; +my $memsum; # the total number of memory allocated over the lifetime +my $maxmem; # the high water mark sub newtotal { my ($newtot)=@_; @@ -150,6 +151,7 @@ while() { $sizeataddr{$addr}=$size; $totalmem += $size; + $memsum += $size; if($trace) { print "MALLOC: malloc($size) at $source:$linenum", @@ -175,6 +177,7 @@ while() { $sizeataddr{$addr}=$size; $totalmem += $size; + $memsum += $size; if($trace) { print "CALLOC: calloc($arg1,$arg2) at $source:$linenum", @@ -196,6 +199,7 @@ while() { $sizeataddr{$oldaddr}=0; $totalmem += $newsize; + $memsum += $size; $sizeataddr{$newaddr}=$newsize; if($trace) { @@ -218,6 +222,7 @@ while() { $sizeataddr{$addr}=$size; $totalmem += $size; + $memsum += $size; if($trace) { printf("STRDUP: $size bytes at %s, makes totally: %d bytes\n", @@ -237,6 +242,7 @@ while() { $sizeataddr{$addr}=$size; $totalmem += $size; + $memsum += $size; if($trace) { printf("WCSDUP: $size bytes at %s, makes totally: %d bytes\n", @@ -422,4 +428,5 @@ if($verbose) { "Operations: ".($mallocs + $callocs + $reallocs + $strdups + $wcsdups + $sends + $recvs + $sockets)."\n"; print "Maximum allocated: $maxmem\n"; + print "Total allocated: $memsum\n"; }