in reply to Perl object memory overhead
$ perl -MDevel::Peek -e " %f = qw/ AAA BBB /; $q = bless{ qw/ CCC DDD / }, q/TheQ/; Dump(\%f); Dump($q); " SV = IV(0x3f9bc8) at 0x3f9bcc REFCNT = 1 FLAGS = (TEMP,ROK) RV = 0x99b9fc SV = PVHV(0x3ff39c) at 0x99b9fc REFCNT = 2 FLAGS = (SHAREKEYS) ARRAY = 0x994124 (0:7, 1:1) hash quality = 100.0% KEYS = 1 FILL = 1 MAX = 7 RITER = -1 EITER = 0x0 Elt "AAA" HASH = 0x320d3b3d SV = PV(0x3f7a4c) at 0x3f9a9c REFCNT = 1 FLAGS = (POK,pPOK) PV = 0x994304 "BBB"\0 CUR = 3 LEN = 12 SV = IV(0x3f9b98) at 0x3f9b9c REFCNT = 1 FLAGS = (ROK) RV = 0x3f9b7c SV = PVHV(0x3fecec) at 0x3f9b7c REFCNT = 1 FLAGS = (OBJECT,SHAREKEYS) STASH = 0x3f9c1c "TheQ" ARRAY = 0xa78284 (0:7, 1:1) hash quality = 100.0% KEYS = 1 FILL = 1 MAX = 7 RITER = -1 EITER = 0x0 Elt "CCC" HASH = 0x78f11fea SV = PV(0x3f7a74) at 0x3f9b8c REFCNT = 1 FLAGS = (POK,pPOK) PV = 0x9a0c3c "DDD"\0 CUR = 3 LEN = 12
$ perl -MDevel::Size=total_size -l - %f = qw/ AAA BBB /; $q = bless{ qw/ CCC DDD / }, q/TheQ/; print for total_size(\%f ), total_size($q); __END__ 137 137
|
---|