On Wed, Oct 12, 2011 at 7:29 PM, Eliot Miranda <[email protected]>wrote:
> > > > On Wed, Oct 12, 2011 at 10:26 AM, Mariano Martinez Peck < > [email protected]> wrote: > >> >> >> >> On Wed, Oct 12, 2011 at 6:44 PM, Eliot Miranda >> <[email protected]>wrote: >> >>> >>> >>> >>> On Wed, Oct 12, 2011 at 8:38 AM, Levente Uzonyi <[email protected]> wrote: >>> >>>> On Wed, 12 Oct 2011, Clara Allende wrote: >>>> >>>> Hi guys, >>>>> >>>>> I'm wondering, why? >>>>> >>>>> ProtoObject>> ~~ anObject >>>>> "Answer whether the receiver and the argument are not the same object >>>>> (do not have the same object pointer)." >>>>> >>>>> self == anObject >>>>> ifTrue: [^ false] >>>>> ifFalse: [^ true] >>>>> >>>>> Instead of: >>>>> ProtoObject>> ~~ anObject >>>>> "Answer whether the receiver and the argument are not the same object >>>>> (do not have the same object pointer)." >>>>> >>>>> ^(self == anObject) not >>>>> >>>>> And why? >>>>> Object >> ~= anObject >>>>> "Answer whether the receiver and the argument do not represent the >>>>> same object." >>>>> >>>>> ^self = anObject == false >>>>> >>>>> Instead of >>>>> Object>> ~= anObject >>>>> "Answer whether the receiver and the argument do not represent the >>>>> same object." >>>>> >>>>> ^(self = anObject) not. >>>>> >>>>> Is there any particular reason for this that I'm missing? >>>>> >>>> >>>> Performance. >>>> >>> >>> But better still is to add a ~~ primitive. I did this for VisualWorks. >>> e.g. primitive 150 is free. why don't we use that for 1.4/4.3? >>> >>> >> >> with or without special bytecode associated? >> > > Initially without. > +1 > Dynamic frequency is low, and primitive adds significant performance over > the non-primitive version. One could use the blockCopy: special bytecode > but I'd wait until doing a complete bytecode set redesign. > > >> >> >> >>> >>>> >>>> Levente >>>> >>>> Thanks in advance! >>>>> -- >>>>> >>>>> "*Most good programmers do programming not because they expect to get >>>>> paid >>>>> or get adulation by the public, but because it is fun to program.*" >>>>> >>>>> Linus Torvalds >>>>> >>>>> >>>> >>> >>> >>> -- >>> best, >>> Eliot >>> >>> >>> >> >> >> -- >> Mariano >> http://marianopeck.wordpress.com >> >> >> > > > -- > best, > Eliot > > > -- Mariano http://marianopeck.wordpress.com
