On Wed, Sep 22, 2010 at 12:12 PM, Henrik Johansen <
henrik.s.johan...@veloxit.no> wrote:

>
> On Sep 22, 2010, at 9:59 40AM, Adrian Lienhard wrote:
>
> > Some notes:
> >
> > - What should be answered for small ints? 1 sizeInMemory -->8. That's
> wrong. Shouldn't this answer 0?
>
> Philosophical question really, imo both 4 (Again, in 32bit images at least)
> and 0 would be "correct" answers in their own ways. 8 is definitely wrong
> though :)
> The method comment should probably highlight which definition is used.
>
>
At the beginning I also thought to have 4, instead of 0. The problem is that
if you put 4 and you have an object with and instVar that it is a
SmallInteger, it will be counted twice, when actually it is only one.
That's why I thoguht 0 was better, since I want the really occupated memory.
On the other hand, if you do "4 sizeInMemory" and see zero, I have to admit
it is a litlte confusing.

The problem is that if I do for example:

Class >> spaceForInstances
    | totalSize |
    totalSize := 0.
    self allInstancesDo: [ :inst |
        totalSize := totalSize + inst sizeInMemory.
    ].
    ^ totalSize

SmallInteger spaceForInstances  ->>  0

So I don't know...maybe we have to answer 4 instead of 0?

Adrian what do you think?

 >
> > - In the line contentBytes := contentBytes + (self basicSize *
> bytesPerElement), why is contentBytes added because it should be always 0
> because self class instSize should return 0 in case of variable classes. Or
> do I miss something?
> You can have instance variables in variable classes:
>
> ArrayedCollection variableSubclass: #TallyArray
>        instanceVariableNames: 'tally'
>        classVariableNames: ''
>        poolDictionaries: ''
>        category: 'Collections-Arrayed'
>
> TallyArray instSize 1
> (TallyArray new: 5) basicSize 5
>
> Sure, they're not used very often in Squeak/Pharo since become: is so slow,
> but there's no theoretical reason why you can't for example implement Set as
> a variable subclass with a tally inst var.
>
> >
> > - Please remove the inline comment "inst vars"; if a comment is needed it
> should go into the main comment.
> I agree, should be self-explanatory.
>
> Cheers,
> Henry
> _______________________________________________
> Pharo-project mailing list
> Pharo-project@lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
_______________________________________________
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to