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

Vanessa Freudenberg vanessa at codefrau.net
Tue Dec 22 21:44:10 UTC 2020


On Tue, Dec 22, 2020 at 1:08 AM Eliot Miranda <eliot.miranda at gmail.com>
wrote:

>
> Of the execution architectures Sista JIT is for practical purposes not yet
> implemented, a prototype, but may offer 2x to 4x of Cog.  Of the Squeak JS
> JITs I think that the send mapping isn’t implemented (am I right?).  But is
> the temp var mapping implemented? If so what difference does it make?
> Context to Stack is about 1.5. Stack to Cog is about 6.
>

None of that has been implemented in SqueakJS. The current JIT only gets
rid of the generic bytecode decoding, plus it inlines small-int arithmetic.

However, that still gives an 8x increase in bytecode speed, which causes
the send speed as measured by tinyBenchmarks to go up by 3.5x too. It also
*feels* significantly faster with the JIT enabled.

See the comment on top of
https://github.com/codefrau/SqueakJS/blob/main/jit.js

>
> Does this sound like overkill? If not, what should we choose as our mips
> measurer?  We want something that all VMs have to do somewhat similarly
> fairly early on system startup and we can correlate with stopwatches and
> macro benchmarks like the time taken for the Compiler package to recompile
> itself, etc.
>

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?

Vanessa
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20201222/301489be/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: startup-codefrau.1.cs
Type: text/x-csharp
Size: 3055 bytes
Desc: not available
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20201222/301489be/attachment.bin>


More information about the Vm-dev mailing list