3 ms·
To their credit, the build time reduction they are reporting is substantial, which is a measurable productive increase regardless of the hardware architecture.
by inkyoto 5y ago
To their credit, the build time reduction they are reporting is substantial, which is a measurable productive increase regardless of the hardware architecture. They compare (quoting verbatim):
> Test: 2020 M1 (8 Core — 4 ice & 4 fire) 13 inch model with 16Gb of RAM
> Control: 2019 Intel Core i7 (12 core) MacBook 16 inch Pro 64Gb RAM²
and build times:
> Intel 16:10 min
> M1 07:41 min (that’s a 52% improvement! )
and
> Intel 10:58 min
> M1 6:28 min (that’s a 41% improvement! )
What is hilarious, though, is the language and statements the author uses to, ostensibly, substantiate the rationale, from a software engineer perspective:
> To put this into perspective, x86 arch (Complex Instruction Set Computing) has around 981 instructions compared to around 50 for arm64.
The author quotes a blog article that quotes a Quora reply that, in turn, suggests approximately 50 instructions for the armv6 / armv7 (Cortex-5) architecture. arm64 (which is armv8 and later) is a complete revamp of the 32-bit armv6/7 architectures and has more than 50 instructions.
> At the “core” of it, however, and what’s contributing the most to this latest performance boost, is the smaller length of arm64 instructions coupled with an array of super-fast instruction buffers. For comparison, x86 instructions are variable in length, and anywhere between 1 and 15 bytes long. For arm64 this is fixed at 4 bytes.
MIPS CPU's – that also have fixed length, 4 byte long instructions – are some of the slowest RISC CPU's out there. So, super-fast instruction buffers they are.
> it’s blazing fast to fill instruction buffers up because of their size, it’s a win-win for these workloads!
Hilarity has ensued, indeed.
> Just like an optimised M1 Pro SoC with its specialised hardware accelerators, at Picnic, we’re striving to build a tech foundation comprising of specialised platform teams that can be accelerators of the self-service approach for the various DevOps workloads and challenges that product teams face.
I am somewhat at a loss as to where and how exactly the hardware video encoders and decoders of M1 laptops fit in in a DevOps workflow and into maven builds.
> For the Java Gurus amongst us, a word to the wise:
Suddenly, I felt small and insignificant.
After checking the blog out and noticing the ironic beard, I have concluded it was just another hipster software shop that, after purchasing a batch of M1 Pro's won't have any money left for disposable razors.
Vitriole aside, I have learned something from the article, anyway. Namely, that mvnd is now supported and works on arm64 which was not the case a few months ago. I will pass the knowledge around my colleagues.