[Newbie] Morph class>>new

Stephane Ducasse ducasse at iam.unibe.ch
Wed Apr 16 13:12:54 UTC 2003


Hi

we did some performance on initialize with andreas when he was visiting 
us (and I should have taken time to profile that). We got with the 
macro benchmark between 3% and 12% without ***Any*** optimization nor 
analysis which means only putting

Object class>>new
	^ super new initialize

Object>>initialize

	^ self

I think that a person good with the profiler could get really fast to 
understand whay we got this 12%. We were also thinking to shortcut 
scheme by redefine it on Array
So I would love to have that in Squeak. This was so well done in CLOS.

I have no time for that now but please give a try.

Stef

PS: Andreas was extremely surprised it would cost so less. It was fun 
to see its reaction.


On Wednesday, April 16, 2003, at 02:58 PM, Stephen Pair wrote:

> Cees de Groot wrote:
>
>> On Wed, 2003-04-16 at 01:03, Richard A. O'Keefe wrote:
>>
>>>    new
>>>        ^self basicNew initialize
>>>    initialize
>>>        "do nothing"
>>>
>>> then many classes would not need to define #new at all.
>>>
>>>
>> Exactly my idea. The only counter argument so far seems to be
>> performance - the extra 'dummy' message send to 'initialize' on 
>> instance
>> creation for *every* object, which is assumed to be expensive but
>> appears to be acceptably cheap.
>> Personally, I would vote pro this cleanup. If people find a case where
>> they don't want it (for performance reasons or whatever), they're free
>> to override this sensible default.
>>
>
> It sounds to me like a sensible thing to do.  The only thing I'd like 
> to see is some measurements of the performance impact (after all, 
> objects are creeated at a furious pace).  Then, if the performance 
> impact is measurable, figure out a way to optimize it to regain speed 
> so that it is never necessary for someone to override the default just 
> for the sake of performance.
>
> - Stephen
>
>
>
>
>
Prof. Dr. Stéphane DUCASSE
http://www.iam.unibe.ch/~ducasse/
  "if you knew today was your last day on earth, what would you do 
different? ...  especially if,
  by doing something different, today might not be your last day on 
earth" Calvin&Hobbes

"The best way to predict the future is to invent it..." Alan Kay.

Open Source Smalltalks: http://www.squeak.org, 
http://www.gnu.org/software/smalltalk/smalltalk.html
Free books for Universities at 
http://www.esug.org/sponsoring/promotionProgram.html
Free Online Book at 
http://www.iam.unibe.ch/~ducasse/WebPages/FreeBooks.html



More information about the Squeak-dev mailing list