or you might borrow a line from Apple.  Their installer says &quot;Optimizing system performance...&quot; once it gets to the last phase ;)<br><br><div class="gmail_quote">On Thu, Dec 10, 2009 at 12:43 AM,  <span dir="ltr">&lt;<a href="mailto:commits@source.squeak.org">commits@source.squeak.org</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Andreas Raab uploaded a new version of Monticello to project The Trunk:<br>
<a href="http://source.squeak.org/trunk/Monticello-ar.334.mcz" target="_blank">http://source.squeak.org/trunk/Monticello-ar.334.mcz</a><br>
<br>
==================== Summary ====================<br>
<br>
Name: Monticello-ar.334<br>
Author: ar<br>
Time: 10 December 2009, 12:42:59 pm<br>
UUID: 4a73ef6b-47d1-9b44-b744-e5b9e3071518<br>
Ancestors: Monticello-ar.333<br>
<br>
A little white lie: When loading sizable packages, most of the time can be spent in notifying the observers. Tell the users that we&#39;re still installing because it&#39;s embarrassing to let them know that we&#39;re wasting our time in notifications.<br>

<br>
=============== Diff against Monticello-ar.333 ===============<br>
<br>
Item was changed:<br>
  ----- Method: MCPackageLoader&gt;&gt;basicLoad (in category &#39;private&#39;) -----<br>
  basicLoad<br>
        errorDefinitions := OrderedCollection new.<br>
        [[&quot;Pass 1: Load everything but the methods,  which are collected in methodAdditions.&quot;<br>
        additions do: [:ea |<br>
                [ea isMethodDefinition<br>
                        ifTrue:[methodAdditions add: ea asMethodAddition]<br>
                        ifFalse:[ea load]]on: Error do: [errorDefinitions add: ea].<br>
        ] displayingProgress: &#39;Reshaping classes...&#39;.<br>
<br>
        &quot;Pass 2: We compile new / changed methods&quot;<br>
        methodAdditions do:[:ea| ea createCompiledMethod] displayingProgress: &#39;Compiling...&#39;.<br>
<br>
        &#39;Installing...&#39; displayProgressAt: Sensor cursorPoint from: 0 to: 2 during:[:bar|<br>
                &quot;There is progress *during* installation since a progress bar update<br>
                will redraw the world and potentially call methods that we&#39;re just trying to install.&quot;<br>
                bar value: 1.<br>
<br>
                &quot;Pass 3: Install the new / changed methods<br>
                (this is a separate pass to allow compiler changes to be loaded)&quot;<br>
                methodAdditions do:[:ea| ea installMethod].<br>
<br>
                &quot;Pass 4: Remove the obsolete methods&quot;<br>
                removals do:[:ea| ea unload].<br>
        ].<br>
<br>
        &quot;Try again any delayed definitions&quot;<br>
        self shouldWarnAboutErrors ifTrue: [self warnAboutErrors].<br>
        errorDefinitions do: [:ea | ea load] displayingProgress: &#39;Reloading...&#39;.<br>
<br>
        &quot;Finally, notify observers for the method additions&quot;<br>
+       methodAdditions do: [:each | each notifyObservers]<br>
+               &quot;the message is fake but actually telling people how much time we spend<br>
+               in the notifications is embarrassing so lie instead&quot;<br>
+               displayingProgress: &#39;Installing...&#39;.<br>
-       methodAdditions do: [:each | each notifyObservers].<br>
<br>
        additions do: [:ea | ea postloadOver: (self obsoletionFor: ea)] displayingProgress: &#39;Initializing...&#39;<br>
        ] on: InMidstOfFileinNotification do: [:n | n resume: true]<br>
        ] ensure: [self flushChangesFile]!<br>
<br>
<br>
</blockquote></div><br>