Beating M3 In A Flutter Dev Machine
An opinionated way to get a flutter laptop without paying the Apple tax
Apple adds to the problem by soldering SSD storage drives to the CPU boards. Which is a problem as when that NAND SSD fails it shorts out the whole damn board, meaning Apple makes money selling you a replacement board.
Is there a better way to get a Laptop for flutter app builds while at the same time having the right target platform devices at hand to do stakeholder try-outs of the app? Yes, read on for how.
How Google Tests Flutter Apps Tells Us Something
Let me tell you how Google tests their own production Flutter apps. They do not use instrumented integration testing in daily and weekly builds. They only use instrumented integration testing at the final production builds.
Because the flutter framework has the Skia graphics library from Android native; goldens testing is executed by drawing the screen off-screen. In addition the widget unit testing is wrapped with a MaterialApp widget to inject the platform device target mocked behaviors.
On top of this Google is starting to re-use storyboarding to be used as BDD widget unit testing.
Due to CodeMagic offering 500 free minutes per month on its individual plan, no one has to buy an Apple development laptop or desktop; as we can in fact go curated CPU shopping and find the right laptop or desktop computer that beats M3 performance at a far lower price.
Let's first start with one of the most common problems with the SSD, specially made NANDs that Apple uses.
Apple's Soldered Closed Source SSD NANDs
So why harp about this? Because SSDs only last 1000 writes. And, it gets worse in that those SSD NANDs short circuit out the board due to how it was designed. See Louis Rossmann's video for the explanation:
Do you like paying 1000 to 1500 for a new board at a drop of the hat when developing flutter apps?
Now, let me explain the trick for you to use.
Beating M3 Trick
In the M chip series, what Apple is doing is taking their iPhone M cores and determining ways to boost that up in cores and other things for laptop and desktop products. Where is the bling spot that we can exploit?
Simple, the top desktop CPU boundary before we get to workstation and server CPUs.
Let me show you via the GeekBench scores, see:
https://browser.geekbench.com/processor-benchmarks
Single Core
Intel 13900KS 3094
Intel 1900KF 2972
Intel 13900K 2965
AMD Ryzen 7950X
AMD Ryzen 7950X3D
AMD Ryzen 7900X
Multi Core
Intel 13900KS 21712
AMD EPYC 9554 20172
Intel 13900KF 20146
Intel 13900K 20043
Intel Xeon w9-3495X 19738
AMD Ryzen 7950X3D 19700
AMD Ryzen 7950X 19158
Single Core
M3 Max 2686
Multi Core
M3 Max 20982
M3 Max GPU Memory Bandwidth 400 GB/s
NVIDI 4090 Memory Bandwidth 1000 GB/s
So if I choose AMD I will be too low in performance, whereas if I go Intel 13900K I will beat the M3 chip series in performance as long as it is paired with at least a NVIDIA 4060 as the M3 only has GPU memory bandwidth of 400 GN/s.
My Flutter Desktop
I am choosing a Linux desktop to get the maximum in repair-ability and upgradability. System 76 has a nice set of desktops in the Thelio series.
The Thelio Mira I came up with in custom configuration is:
-6 GHz Intel 14900K 24 cores 8 P-cores and 16 E-cores
-128 GB DDR5 4000 MHz
-OS Dirve M.2 PCIe4 SSD 1 TB
-M.2 NVMe 1 TB PCIe4 SSD
-12 GB NVIDIA GeForce RTX 4070 Ti
-120mm GPU cool air intake fan
All for 3449 dollars. With going for the highest possible performance match to the M3 at a lower price this desktop should last 10 years or more due to the fact that the SSDs and GPU card are replaceable.
The Thelio Mira spec page is here:
https://system76.com/desktops/thelio-mira
Thoughts
That is how I am getting M3 performance in a desktop computer for flutter app development without paying the Apple tax.
Fred Grott's Newsletter
An ADHD'ers super focus on Flutter app design and the side hustle of designing flutter apps. Delivered, several days every week to your inbox.