<div>On Sat, 2 Jan 2021 at 6:28 am, Vanessa Freudenberg <<a href="mailto:vanessa@codefrau.net">vanessa@codefrau.net</a>> wrote:<br></div><div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div dir="auto">Hi Dave,</div><div dir="auto"><br></div><div dir="auto">I haven’t actually tried it but it seems on a slow platform this would delay the first-time startup by however long those benchmarks take, right?</div><div dir="auto"><br></div><div dir="auto">IsLowPerformance is used to determine if the full wizard is shown or a cheaper one.</div></div></blockquote><div dir="auto"><br></div><div dir="auto">The wizard unfortunately takes a lot of time snapshotting a preview of the world on startup. Marcel said that this can be avoided with lazily initializing the preview (it's not even shown in the initial overlay). This would also eliminate the noticeable delay on startup when running on OpenSmalltalkVM.</div><div dir="auto"><br></div><div dir="auto">Fabio</div><div dir="auto"><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div dir="auto"></div></div><div><div dir="auto"><br></div><div dir="auto">Vanessa</div></div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu 31. Dec 2020 at 09:47, David T. Lewis <<a href="mailto:lewis@mail.msen.com" target="_blank">lewis@mail.msen.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)">On Tue, Dec 22, 2020 at 02:07:30PM -0800, Vanessa Freudenberg wrote:<br>
> (dropping vm-dev)<br>
> <br>
> On Tue, Dec 22, 2020 at 1:57 PM Eliot Miranda <<a href="mailto:eliot.miranda@gmail.com" target="_blank">eliot.miranda@gmail.com</a>><br>
> wrote:<br>
> <br>
> ><br>
> > On Tue, Dec 22, 2020 at 1:44 PM Vanessa Freudenberg <<a href="mailto:vanessa@codefrau.net" target="_blank">vanessa@codefrau.net</a>><br>
> > wrote:<br>
> ><br>
> >><br>
> >> I like measuring all-over performance, and not adding any extra work.<br>
> >><br>
> >> Like, DateAndTime is pretty early in the startup list. It could remember<br>
> >> the time its startup was invoked. Another class that comes later could set<br>
> >> a LowPerformance flag if it took longer than x ms since DateAndTime was<br>
> >> initialized.<br>
> >><br>
> >> I just tried that with ProcessorScheduler (see attachment). On Safari and<br>
> >> a 5.3 image I get ImageStartMS = 133 ms, on Chrome 250 ms. On a fast VM I<br>
> >> get 5 ms. So maybe if that takes longer than say 50 ms it could be<br>
> >> considered low performance?<br>
> >><br>
> ><br>
> > Works for me. I would record and provide an accessor for ImageStartUsecs<br>
> > (a class variable in SmalltalkImage, using microseconds :-) ).  Then one<br>
> > can either use isLowerPerformance or the actual time for a more "nuanced"<br>
> > view.<br>
> ><br>
> <br>
> Good idea. It also should use class vars not globals, etc.<br>
> <br>
> I didn't mean to use this as is, just to do a quick proof of concept. And I<br>
> didn't see Dave's take come through yet ... or are announcements from<br>
> squeaksource broken?<br>
> <br>
> Vanessa<br>
<br>
I'm not sure if the inbox announcement came out on email (I did not see<br>
it either), but my take on this was in System-dtl.1207.mcz in the inbox.<br>
It uses a value computed once per session on first reference, so it should<br>
have no effect on startup time.<br>
<br>
The actual logic to determine a "slow platform" is this:<br>
<br>
  (Time millisecondsToRun:[ 25 benchFib ]) > 200<br>
      or: [ (Time millisecondsToRun: [ 64 benchmark ]) > 200 ]<br>
<br>
Perhaps someone with a Raspberry Pi can check and see if this is<br>
reasonable? It does indicate that SqueakJS is "slow" when running<br>
in Chrome on my Linux box, and the compiled VMs are "fast".<br>
<br>
Dave<br>
<br>
<br>
</blockquote></div></div>
<br>
</blockquote></div></div>