Its a simple method in Object:

Object>>sizeInMemory
        "Returns the number of bytes used by this object in memory (including 
its header)"
        
        | headerSize instanceSize |
        headerSize := (self class indexIfCompact > 0 ifTrue: [ 4 ] ifFalse: [ 8 
]).
        instanceSize := (self class isVariable
                ifFalse: [ self class instSize * Smalltalk wordSize ]
                ifTrue: [ (self basicSize * (self class isBytes
                        ifTrue: [ 1 ] ifFalse: [ Smalltalk wordSize ])) ]).
        ^ headerSize + instanceSize

Please also note the other mail I sent to this thread.

Adrian

On Apr 27, 2010, at 13:16 , Mariano Martinez Peck wrote:

> On Tue, Apr 27, 2010 at 12:45 PM, Adrian Lienhard <[email protected]> wrote:
> 
>> I once sent some code to the mailing list (search for thread named "Size of
>> objects").
> 
> 
> Thanks Adrian...I couldn't find it. Can you forward it to me please?  or
> just send me the code...
> 
> 
>> We should add this to the image. I think I named it #sizeInMemory.
>> 
>> 
> There are only changes to the image side ?  or the vm also ?
> 
> Thanks
> 
> Mariano
> 
> 
> 
>> Adrian
>> 
>> On Apr 27, 2010, at 12:03 , Mariano Martinez Peck wrote:
>> 
>>> Hi. I don't know if "memory occupation" is the better name. I just want
>> to
>>> know the amount of memory that an object is occupying in RAM. I mean, the
>>> amount of bytes.
>>> 
>>> Is this possible ? if true, how ?   I would like to do it from both
>> sides:
>>> image and VM.
>>> 
>>> I checked both but I didn't find anything.
>>> 
>>> Thanks in advance
>>> 
>>> Mariano
>>> _______________________________________________
>>> Pharo-project mailing list
>>> [email protected]
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>> 
>> 
>> _______________________________________________
>> Pharo-project mailing list
>> [email protected]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>> 
> _______________________________________________
> Pharo-project mailing list
> [email protected]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to