[squeak-dev] [Vm-dev] The Trunk: System-codefrau.1205.mcz
David T. Lewis
lewis at mail.msen.com
Thu Dec 31 17:47:00 UTC 2020
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>
> > 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?
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".
More information about the Squeak-dev