Without testing it more, I can’t tell you,
but your code seems to make sense :)


Ben

On 07 Aug 2014, at 13:47, Camille Teruel <camille.ter...@gmail.com> wrote:

> Hi everyone,
> 
> I noticed that browsing Object take several seconds (5s on my machine). 
> Evaluate Nautilus openOnClass: Object. 
> After profiling, I found it's because of 
> ClassWidget>>setCachedHierarchyClass: that calls SortHierarchically 
> class>>buildHierarchyForClasses: with a big collection of classes.
> But the browser opens on the package view by default, not the hierarchy view.
> So if I replace:
> 
> ClassWidget>>showHierarchy: anObject
>     showHierarchy := anObject.
>     self selectedClass ifNotNil:[: class |
>         self setCachedHierarchyClass: class]
> by:
> 
> ClassWidget>>showHierarchy: aBoolean
>     (showHierarchy := aBoolean)
>         ifTrue: [ self selectedClass ifNotNil: [ :class | self 
> setCachedHierarchyClass: class] ]
> 
> it solves the problem. 
> But I don't know that part of the system well and I don't know if it's the 
> correct thing to do or if we should try to improve performances of 
> SortHierarchically instead.
> So tell me what you think about it.
> Here is the bug entry: 
> https://pharo.fogbugz.com/f/cases/13795/Browsing-certain-classes-takes-several-seconds
>  
> 
> Thanks,
> Camille

Reply via email to