On my 64-bit Mac, I get
(time (##make-vector 8))
(time (##make-vector 8)) 0 ms real time 0 ms cpu time (0 user, 0 system) no collections 144 bytes allocated 1 minor fault no major faults #(0 0 0 0 0 0 0 0)
I'd figure this allocates only 8 (header) + 8 (words) * 8 (bytes/word) = 72 bytes, but time is reporting 144.
Similarly (and what led me to this),
(time (##bignum.make 2 #f #f))
(time (##bignum.make 2 #f #f)) 0 ms real time 0 ms cpu time (0 user, 0 system) no collections 48 bytes allocated no minor faults no major faults
(don't do this at home!), which I expect allocates 8 (header) + 2 (adigits) * 8 (bytes/adigit) = 24 bytes.
What am I not understanding?
More generally, can the number of bytes reported be confused by stack manipulation? I.e., if things go on the stack, but then the stack is unwound, does "time" report any allocation?
Thanks.
Brad