Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive

MathGroup Archive 2010

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Estimating memory usage of expressions

  • To: mathgroup at
  • Subject: [mg108987] Re: Estimating memory usage of expressions
  • From: Nicola Mingotti <nico020978 at>
  • Date: Fri, 9 Apr 2010 03:32:34 -0400 (EDT)
  • References: <hpkgl2$81m$>

The object "1" and the object "list containing only the element 1" are different
in nature so it's expectable they heve different Mathematica representation
and different Memory usage.

I don't know the C representation for a Mathematica List or a Mathematica
Integer, i don't even know if they are public domain.

Anyway, if you do

ByteCount[{1}]      => 56
ByteCount[{1,2}]    => 80
ByteCount[{1,2,3}]   => 104
ByteCount[{1,2,3,4}]   => 128

you see the difference is always 24 bytes.

It tried to do a little experiment, the list data structure changes
when you add some elements :

r = Table[RandomInteger[], {i, 100}];
(ByteCount[r] - 32) / 24    => 100

r = Table[RandomInteger[], {i, 200}];
(ByteCount[r] - 32) / 24    => 200

r = Table[RandomInteger[], {i, 250}];
(ByteCount[r] - 32) /24     => 91/2       !!!!

In the last result i would expect naively a result 250,
91/2 tells me that things underwood are more sophisticated.

Hope somebody can tell you more ;-)



On 2010-04-08 14:02:42 +0200, Jim Lambaugh said:

> Hi
> Is there a way to estimate how many bytes the different expressions in
> Mathematica take from the memory? For example I wish to know how many
> bytes a NxN matrix with real entries is, the list of its eigenvectors,
> eigenvalues etc.
> I know of the command "ByteCount", but the results I get are not
> consistent, i.e. a list of 1 integers does not take up the same amount
> of memory as one single integer etc. So: Is there a way to estimate
> these things? I'm running on a 32-bit system (if that makes a
> difference).

  • Prev by Date: Re: How to enter an integral in a formula and have mathematica *not*
  • Next by Date: Re: if using Mathematica to solve an algebraic problem
  • Previous by thread: Estimating memory usage of expressions
  • Next by thread: Re: Estimating memory usage of expressions