[Pharo-project] Speeding up Pharo 1.1

Stéphane Ducasse stephane.ducasse at inria.fr
Tue Oct 19 03:14:36 EDT 2010


On Oct 18, 2010, at 10:19 PM, Nicolas Cellier wrote:

> 2010/10/17 Levente Uzonyi <leves at elte.hu>:
>> On Sat, 16 Oct 2010, Bart Veenstra wrote:
>> 
>>> Hi list,
>>> 
>>> I have been working with Pharo for almost a month now, and I suspect
>>> that the performance is degrading fast. UI tasks takes several seconds
>>> to react to my keyboard.
>> 
>> That kind of sluggishness is probably related to finalization/gc. Please
>> send us the result of the following expression:
>> 
>> (WeakArray classPool at: #FinalizationDependents)
>>        select: [ :each | each notNil ]
>>        thenCollect: [ :each | each class -> each size ]
>> 
> 
> While updating pharo 1.2, after an EndOfCentralDirectory error, I got
> a very unresponsive image...

can you reproduce it?
Which image ?
Which vm ?
Never heard about this error before


> ((WeakArray classPool at: #FinalizationDependents) as: Array)
>       select: [ :each | each notNil ]
>       thenCollect: [ :each | each class -> each size]
> ->
> {(WeakIdentityKeyDictionary->22370). (WeakRegistry->0).
> (WeakRegistry->0). (WeakRegistry->0). (WeakRegistry->2)}
> 
> I tried to inspect it 5 minutes ago, but hey, answer in another email...
> Ah, OK, cmd+shift+. just worked. I had to interrupt
> #finalizationProcess itself finally...
> Oh inspect is sorting the keys... unusable.
> So what's in the array ? Things like
> 
> (ScriptLoader>>#update12125 "a CompiledMethod(0)")->a
> MCMethodDefinition(ScriptLoader>>update12125)
> (PragmaCollector>>#release "a CompiledMethod(964689920)")->a
> MCMethodDefinition(PragmaCollector>>release)
> (Float>>#arcSin "a CompiledMethod(358088704)")->a
> MCMethodDefinition(Float>>arcSin)
> 
> I don't understand yet, but I begin to gather clues why updating pharo
> goes so badly...

Thanks. Any progress in that direction is welcome.
May be this is related to change proposed by igor on weak finalization explicit call in MC that may not be fully 
integrated.

Stef





More information about the Pharo-dev mailing list