<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 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">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>