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