[squeak-dev] [Vm-dev] The Trunk: System-codefrau.1205.mcz

Fabio Niephaus lists at fniephaus.com
Sat Jan 2 12:13:27 UTC 2021


On Sat, 2 Jan 2021 at 6:28 am, Vanessa Freudenberg <vanessa at codefrau.net>
wrote:

> Hi Dave,
>
> 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?
>
> IsLowPerformance is used to determine if the full wizard is shown or a
> cheaper one.
>

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.

Fabio


> Vanessa
>
> On Thu 31. Dec 2020 at 09:47, David T. Lewis <lewis at mail.msen.com> wrote:
>
>> On Tue, Dec 22, 2020 at 02:07:30PM -0800, Vanessa Freudenberg wrote:
>> > (dropping vm-dev)
>> >
>> > On Tue, Dec 22, 2020 at 1:57 PM Eliot Miranda <eliot.miranda at gmail.com>
>> > wrote:
>> >
>> > >
>> > > On Tue, Dec 22, 2020 at 1:44 PM Vanessa Freudenberg <
>> vanessa at codefrau.net>
>> > > wrote:
>> > >
>> > >>
>> > >> I like measuring all-over performance, and not adding any extra work.
>> > >>
>> > >> Like, DateAndTime is pretty early in the startup list. It could
>> remember
>> > >> the time its startup was invoked. Another class that comes later
>> could set
>> > >> a LowPerformance flag if it took longer than x ms since DateAndTime
>> was
>> > >> initialized.
>> > >>
>> > >> I just tried that with ProcessorScheduler (see attachment). On
>> Safari and
>> > >> a 5.3 image I get ImageStartMS = 133 ms, on Chrome 250 ms. On a fast
>> VM I
>> > >> get 5 ms. So maybe if that takes longer than say 50 ms it could be
>> > >> considered low performance?
>> > >>
>> > >
>> > > Works for me. I would record and provide an accessor for
>> ImageStartUsecs
>> > > (a class variable in SmalltalkImage, using microseconds :-) ).  Then
>> one
>> > > can either use isLowerPerformance or the actual time for a more
>> "nuanced"
>> > > view.
>> > >
>> >
>> > Good idea. It also should use class vars not globals, etc.
>> >
>> > I didn't mean to use this as is, just to do a quick proof of concept.
>> And I
>> > didn't see Dave's take come through yet ... or are announcements from
>> > squeaksource broken?
>> >
>> > Vanessa
>>
>> I'm not sure if the inbox announcement came out on email (I did not see
>> it either), but my take on this was in System-dtl.1207.mcz in the inbox.
>> It uses a value computed once per session on first reference, so it should
>> have no effect on startup time.
>>
>> The actual logic to determine a "slow platform" is this:
>>
>>   (Time millisecondsToRun:[ 25 benchFib ]) > 200
>>       or: [ (Time millisecondsToRun: [ 64 benchmark ]) > 200 ]
>>
>> Perhaps someone with a Raspberry Pi can check and see if this is
>> reasonable? It does indicate that SqueakJS is "slow" when running
>> in Chrome on my Linux box, and the compiled VMs are "fast".
>>
>> Dave
>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20210102/11e53d0c/attachment.html>


More information about the Squeak-dev mailing list