Print a report for memory usage of variable s to file descriptor fd or to stdout.
The following code
s1(1).x = 1; s1(2).x = 2; s1(1).y.z = rand(3, 3); s1(2).y.z = rand(3, 100); s1(1).y.v = "1234"; s1(2).y.v = "56478"; s1(1).y.w = zeros(2^10, 2^10, "int8"); s1(2).y.w = zeros(2 * 2^10, 2^10, "int8"); s1(2).y.s2 = s1; struct_sizeof(s1);
Produces the following output
sizeof(s1(1).x)=0.000008Mb sizeof(s1(1).y.z)=0.000069Mb sizeof(s1(1).y.v)=0.000004Mb sizeof(s1(1).y.w)=1.000000Mb sizeof(s1(1).y)=1.000072Mb sizeof(s1(1).y)=1.000072Mb sizeof(s1(1))=1.000080Mb sizeof(s1(2).x)=0.000008Mb sizeof(s1(2).y.z)=0.002289Mb sizeof(s1(2).y.v)=0.000005Mb sizeof(s1(2).y.w)=2.000000Mb sizeof(s1(2).y.s2(1).x)=0.000008Mb sizeof(s1(2).y.s2(1).y.z)=0.000069Mb sizeof(s1(2).y.s2(1).y.v)=0.000004Mb sizeof(s1(2).y.s2(1).y.w)=1.000000Mb sizeof(s1(2).y.s2(1).y)=1.000072Mb sizeof(s1(2).y.s2(1).y)=1.000072Mb sizeof(s1(2).y.s2(1))=1.000080Mb sizeof(s1(2).y.s2(2).x)=0.000008Mb sizeof(s1(2).y.s2(2).y.z)=0.002289Mb sizeof(s1(2).y.s2(2).y.v)=0.000005Mb sizeof(s1(2).y.s2(2).y.w)=2.000000Mb sizeof(s1(2).y.s2(2).y)=2.002294Mb sizeof(s1(2).y.s2(2).y)=2.002294Mb sizeof(s1(2).y.s2(2))=2.002301Mb sizeof(s1(2).y.s2)=3.002381Mb sizeof(s1(2).y)=5.004675Mb sizeof(s1(2).y)=5.004675Mb sizeof(s1(2))=5.004683Mb sizeof(s1)=6.004763Mb
Package: mboct-octave-pkg