On Fri, 10 Dec 2010, Adrian Lienhard wrote:
Even if Fuel can be 10x faster, it doesn't really make a difference IMHO.
It would be interesting to thoroughly profile MC to figure where it spends all
its time (with large projects it gets very very slow, like several minutes to
just show the merge diffs between two branches).
I guess those days are over when MC spends minutes doing this, it's at most a
few seconds for large packages. The 1.5MB Morphic package of Squeak can be
compared to another really old version (changes) in 3 seconds. According to
MessageTally 50% of the time is spend in getting the timeStamp for the methods.
Sure, that's for one package. But we don't just put everything in one package;
we have like 20 packages for a large project. 20 x 3s is already a minute.
Large ancestry and HTTP repository also has an influence. I've done several
small optimizations (like adding caching) to speed things up. But still, MC
speed in our case is rather measured in minutes than seconds :(
Note that this is not package loading, but viewing the changes. And the 3
seconds is for a 1.5MB package. I doubt you have 20 x 1.5MB packages.
Btw Keith's MC1.5/1.6 is really impressive. With Squeak 3.10.2 (no
closures, no cog, no buffered files, etc) it takes 6.8 seconds to load
RoelTyper + OCompletion. In a current Squeak image that takes 4.3 seconds
with Cog.
Levente
Adrian