Best way to know how much memory is used by an mpz_class object
Torbjorn Granlund
tege at swox.com
Mon Dec 6 16:46:28 CET 2004
Roberto Bagnara <bagnara at cs.unipr.it> writes:
In my application I need a way to compute the amount of memory
that is used by an object of type `mpz_class'.
What I do now is something like
sizeof(x) + x.get_mpz_t()[0]._mp_alloc*SIZEOF_MP_LIMB_T
which, however, relies on the low-level implementation of
`mpz_class'.
Is there a more portable or better way to achieve the same effect?
There is no way to directly determine the amount of memory used,
as far as I can tell. It might be adequate to use
mpz_realloc2(x,mpz_sizeinbits(x,2)) to set GMP's idea of
allocation manually.
Note, however, that the used amount is often up to about twice
what has been asked for, since most malloc implementations pad
out to certain fixed sizes.
--
Torbjörn
More information about the gmp-discuss
mailing list