19.3.1 on Apple M1: first impressions

Here is an interesting post from @vmenanno with a special contribution of @steve_ssh.

If you too are now using the latest FMP release on M1, please add your comments below.

2 Likes

Thanks for this.

Looks like Apple Silicon is a huge innovation in the personal computing world. When was the last time such a breakthrough happened - maybe the SSD ?

First impression is excellent. Runs super-fast. Just found a minor issue in the script editor, where a line break appears, hiding the parameter part of a Set Field step.
Once the line is double-clicked, everything is back to normal.

2 Likes

Haven't run into any issues yet, but I haven't done exhaustive testing either. I had a quick go-around with my two primary projects and they appear to be fine. Faster though, obvs.

Bookmarking this thread to keep up with others' experiences.

Been running an M1 mini over a VPN to a client site doing FM Dev work. It replaced a 2020 Dell quad core i5 laptop, 16gb, NVMe machine. Everything has been working fine.

One notable gain: as a VPN encrypts and decrypts data on the fly, I benchmarked the Dell vs the M1 - the M1 was 7.4 times faster network performance, all other factors identical. I can only attribute this to the M1's performance on the encrypt/decrypt process.

Wonder what it would be like, if the VPN was native M1 ARM64 code, and not Rosetta 2 ??

Also have a M1 Pro Max machine. For FMS work to remote servers, I see near zero benefit from this monster horsepower over the M1 mini. Maybe doing local processing like Photoshop, but for FM dev work, very little gain.

FMP and FMS multi-threading (hyper-threading) apparently not utilized as much as offered by Atom chips!? Advantages show if you run other apps in parallel.

Did the switch from 32 to 64bit show any speed acceleration in the past?
I had single user stand-alone files with 2GB and when switching to 64bit FMP not any performance improvements shown.

Maybe future Compilers who mature and can take advantage of the hardware might surprise us hopefully...

AFAIK, there is virtually no multi-threading on FMP, and only recent versions of FMS has implemented this, and only in limited use cases. Writing multi-threaded code is tough. Maybe someday. MacOS does make some extensive use of multi-threading, however. idk about Windows.

1 Like

it has been years that FMI (now Claris Int. Inc.) promised it and advised to beware of variable usage in field definitions, custom functions etc. and going forward to code accordingly to prevent if a multi-threaded FMP appears breaking logic.

AFAIK modern compilers detect where spinning off into multiple threads is possible.

(the ideal compiler might actually translate a chess program into a database :wink: )