On Wed, Sep 22, 2010 at 12:34 PM, Mariano Martinez Peck < marianop...@gmail.com> wrote:
> > > 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. >> >> So....what should we consider for SmallInteger ? 4 bytes or 0 bytes? I would like to compute the really used memory. thanks mariano > > 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