[squeak-dev] the state of Apple Silicon

Eliot Miranda eliot.miranda at gmail.com
Tue Jan 25 19:51:14 UTC 2022

Hi Bob,

> On Jan 25, 2022, at 8:59 AM, Bob Arning <arning315 at comcast.net> wrote:
> On 1/25/22 11:32 AM, Eliot Miranda wrote:
>> Hi Bob,
>>> On Jan 25, 2022, at 6:42 AM, Bob Arning <arning315 at comcast.net> wrote:
>>> On 1/25/22 9:12 AM, Marcel Taeumel wrote:
>>>> Hi Bob --
>>>> It should not be that much slower:
>>>> macMini (Oct 2020)
>>>> macOS Big Sur 11.6.2
>>>> Chip: Apple M1
>>>> OSVM: 202112201228 (arm64)
>>>>   4,400,000,000 bytecodes/sec; 330,000,000 sends/sec
>>>> OSVM: 202112201228 (x64 via Rosetta)
>>>>   3,500,000,000 bytecodes/sec; 270,000,000 sends/sec
>>> Perhaps it was the VM I was using:
>>> Virtual Machine
>>> ---------------
>>> /Users/bob/squeak/AST (modern)/AST 64-bit.app/Contents/MacOS/Squeak
>>> Open Smalltalk Cog[Spur] VM [CoInterpreterPrimitives VMMaker.oscog-nice.2715] 64 bit
>>> Mac OS X built on Mar  3 2020 08:28:30 GMT Compiler: 4.2.1 Compatible Apple LLVM 8.1.0 (clang-802.0.42)
>>> platform sources revision VM: 202003021730 https://github.com/OpenSmalltalk/opensmalltalk-vm.git Date: Mon Mar 2 18:30:55 2020 CommitHash: 6a0bc96 Plugins: 202003021730 https://github.com/OpenSmalltalk/opensmalltalk-vm.git
>>> CoInterpreter VMMaker.oscog-nice.2715 uuid: 78e2f556-9829-42fe-963d-e19dfc43c0e9 Mar  3 2020
>>> StackToRegisterMappingCogit VMMaker.oscog-eem.2719 uuid: e40f3e94-3a54-411b-9613-5d19114ea131 Mar  3 2020
>>> While I got similar numbers to yours for the tinyBenchmarks, I found that my code was slower by a factor of 5 to 10. Does that make sense?
>> Not really.  You’re sure you’re using the M1 executable and not the x86_64 one? I realise the version info printed by the vm doesn’t tell which one it is.  I have to fix this.
>> BTW if you checkout OpenSmalltalk-vm, follow building/macos64ARMv8/HowToBuild, and build in building/macos64ARMv8/squeak.cog.spur, you should be able to sign your own bundle.
>> _,,,^..^,,,_ (phone)
> I am definitely using the x86_64 executable. I was curious to see if I just moved things across to the new machine if they would run better, worse or the same.

Well, because it’s doing dynamic translation, and one has one dynamic translation JIT (Cog) above another (Rosetta) it’s amazing it runs at all :-). But yes, if that’s the case one expects it to be *much* slower.

> Didn't know at the time that there was a new vm - searched recent mailing lists and did not see any indication of one.

Agreed.  This is a mess.  The github build flow doesn’t show where me are at all obviously.  I have to ask for help to find CI builds.  It looks like I’ll have to update README.md to mention theM1 builds explicitly.

The link from squeak.org/downloads to trunk VMs is essentially useless.  One has to be intimately familiar with GitHub’s build actions to find anything.

BTW, if anyone who can edit squeak.org/downloads and understands how those links work would update the links to make them more useful if would be most appreciated.

> Now that I have one for apple silicon, I will see how it goes. BTW, does a 6.0 vm run a 5.3 image OK?

Yes. In general VMs that are of a compatible format are backwards compatible with older images.

> As for following OpenSmalltalk-vm, that's a bit outside my comfort zone, but thanks for the tip.

I don’t mean following, I just mean building.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20220125/1e3638a1/attachment.html>

More information about the Squeak-dev mailing list