igor can you open a bug entry so that we do not forget it.
tx

Stef
On Apr 21, 2013, at 5:49 PM, Igor Stasenko <siguc...@gmail.com> wrote:

> On 20 April 2013 22:56, Chris <cpmbai...@btinternet.com> wrote:
>> I've recently upgraded a project to Pharo 2 which went relatively smoothly
>> but thought I'd share my experience with loading times
>> 
>> In Pharo 1.4, it used to take about 5-6 minutes to build everything from a
>> base image but I noticed that if I ran the package loads inside a
>> SystemChangeNotifier uniqueInstance doSilently: then the load time went down
>> to like 2 minutes without any other side effects.
>> 
>> In Pharo 2, it was taking a lot longer so I ran it through the equivalent
>> SystemAnnouncer uniqueInstance suspendAllWhile: which did the job in terms
>> of speed but all of the classes ended up unpackaged. After a little bit of
>> digging I eventually found that by running MCWorkingCopy
>> unregisterForNotifications before the package load, it came back to a
>> sensible load time and everything seems to work again.
> 
> SystemAnnouncer suspension is buggy.
> 
> announce: anAnnouncement
>       self isSuspended
>               ifFalse: [
>                       self private announce: anAnnouncement.
>                       super announce: anAnnouncement ]
> should be:
> 
> announce: anAnnouncement
>       self private announce: anAnnouncement.
>       self isSuspended
>               ifFalse: [
>                       super announce: anAnnouncement ]
> 
> 
>> 
>> My question is can this practice become part of a configuration load? I
>> tried loading Iliad from the package cache just as an example and if you do
>> a ConfigurationOfIliad load it takes 310 seconds, whereas MCWorkingCopy
>> unregisterForNotifications. ConfigurationOfIliad load. MCWorkingCopy
>> registerForNotifications. only takes 42 seconds. The main problem seems to
>> be MCPackageManager>>#methodModified which sets the package modified state
>> is taking about 60m/s to run each time because it is initializing an
>> RPackage for every package in the system. Is there any way this can be
>> cached better?
>> 
> yes the code there needs review.
> 
>> Cheers
>> Chris
>> 
>> 
> 
> 
> 
> -- 
> Best regards,
> Igor Stasenko.
> 


Reply via email to