On Mon, 18 Oct 2010, Nicolas Cellier wrote:

2010/10/17 Levente Uzonyi <[email protected]>:
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
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to