[Pharo-project] Speeding up Pharo 1.1

Levente Uzonyi leves at elte.hu
Mon Oct 18 17:16:08 EDT 2010


On Mon, 18 Oct 2010, 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...
>
> ((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...

IIRC Igor already checked that most of the time is spend in the 
finalization process and gc.


Levente

>
> Nicolas
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project at lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>


More information about the Pharo-dev mailing list