2010/10/19 Levente Uzonyi <leves@elte.hu>:
On Mon, 18 Oct 2010, Nicolas Cellier wrote:
2010/10/18 Igor Stasenko <siguctua@gmail.com>:
On 18 October 2010 23:18, Nicolas Cellier <nicolas.cellier.aka.nice@gmail.com> wrote:
2010/10/17 Levente Uzonyi <leves@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).
This is an MC cache. And major reason of image slowdown.
Levente did this simplification in trunk:
cachedDefinitions     ^definitions ifNil: [ definitions := WeakIdentityKeyDictionary new ]
It would be worth a try in Pharo.
IIRC Pharo's WeakKeyDictionary (and subclasses) don't work properly if they're not registered to the finalization process. So this won't work as long as that's not fixed.
Huh? Can you provide a code to show it? Test case please?
Levente
Nicolas
(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...
Nicolas
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- Best regards, Igor Stasenko AKA sig.
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- Best regards, Igor Stasenko AKA sig.