On 08 Mar 2013, at 13:09, Camillo Bruni <[email protected]> wrote:

> On 2013-03-08, at 11:53, Sven Van Caekenberghe <[email protected]> wrote:
> 
>> On 08 Mar 2013, at 11:16, Sven Van Caekenberghe <[email protected]> wrote:
>> 
>>> But I have said this before: the wall clock time of loading a lot of code 
>>> is actually close to unacceptable - I don't think it is the download or the 
>>> compilation, but more all the dynamic stuff that happens after that. There 
>>> should be a way to not do all those updates for each method and move the 
>>> updates to one big batch update after the load - if that is possible.
>> 
>> To continue my rant (sorry ;-) about the problem with slow code loading.
>> 
>> These are some benchmarks on the same machine:
>> 
>> $ ./vm.sh experimental.image eval '[Smalltalk allClassesAndTraits do: 
>> #compileAll] timeToRun'
>> 106532
>> 
>> $ ./stack/vm.sh experimental.image eval '[Smalltalk allClassesAndTraits do: 
>> #compileAll] timeToRun'
>> 221708
>> 
>> So it takes like 3 minutes to recompile every method in the system. 
>> 
>> How in the hell can it take 40 minutes to load some code (with all packages 
>> already present in the package-cache (but then again the package-cache is 
>> only 3.5 Mb, which could be downloaded in seconds)) ?
> 
> I with you on this one! :D I always wondered what Metacello and Compiler do 
> there! :D

Well, open the Time Profiler and load your favourite Config. You'll have a hard 
time finding the actual time slice of the compiler. As far as I could see in my 
run it was less than 1% !  All the rest MC, Gofer, RPackage and 
SystemAnnouncement stuff, even completion stuff.

Quite a challenge to optimize if you ask me.

Sven

Reply via email to