Live data from Hacker News

Apple M1 vs. Ryzen 3900X vs. Intel I9 in Software Development

tech.ssut.me

341–350 of 467 posts

Re: Apple M1 vs. Ryzen 3900X vs. Intel I9 in Software Development

#341

Earlier quoted context omitted.

I thought the m1 has dedicated js instructions.

There are several theories as to why the M1 does so well on on JavaScript benchmarks. >Firestorm can do 4 FADDs and 4 FMULs per cycle with respectively 3 and 4 cycles latency. That’s quadruple the per-cycle throughput of Intel CPUs and previous AMD CPUs, and still double that of the recent Zen3, of course, still running at lower frequency. This might be one reason why Apples does so well in browser benchmarks (JavaSc…

I've been thinking about the instruction cache of the M1 lately.

Another difference between x86 and ARM is that, for historical reasons, on x86 there is no need to invalidate the instruction cache explicitly when writing instructions to memory. That is, on x86, when a core writes to memory, the corresponding line in the instruction cache has to be invalidated. Since the instruction cache is usually VIPT for performance reasons, it has to be indexed only by bits which don't change in the virtual to physical mapping, otherwise there's a risk of cache aliases. For an instruction cache, an alias should not be a problem (it just wastes space with duplicated data), except that all aliases have to be flushed when invalidating by physical address.

IIRC, in 64-bit ARM user space (EL0) the only available instruction to invalidate the instruction cache is an "invalidate by virtual address" instruction. Since calling that instruction (after calling an instruction to flush the data cache to the point of unification) is required on ARM, there's no need to be able to invalidate all aliases of a physical address, like would be required on x86. That means it would be easier on ARM to have much larger instruction caches than on x86.

Re: Apple M1 vs. Ryzen 3900X vs. Intel I9 in Software Development

#342
post #205

Considering that Apple won't sell their chips to anybody else, and the M2, M3, Mn could be increasingly faster than the x86 chips, how long before we start moving along this path? 1. Amazon, Google, Microsoft start building their own chips for their own clouds. The most efficient chip could translate into the cheapest cloud, or the fastest one at the same price. Their choice. 2. There will be N somewhat compatible AR…

What utter nonsense. Different ARM chips aren't "somewhat compatible" anymore than Intel/AMD x86 chips. It's a standard instruction set. And even if we'd get different instruction sets, we have much better toolchains/compilers to work with multiple architectures now than we did in "the home computing landscape of the 80s / early 90s" (GCC and LLVM aren't really comparable to Sinclair Basic). The M1 has been out for a…

A PC = x86_64 + UEFI. They are have a lot of standard components. You can take any Linux boot USB and boot almost any PC with it and at least get a console if nothing else.

A PlayStation 4 is x86_64 but is NOT a PC. Watch the Fail0ver video on their PS4 kernel port to understand how different it is.

ARM is a god damn clusterfuck of random pins soldered to random shit and every Android kernel patched to hell in non-upstreamable ways. Look at all the work PostmarketOS has to do in order to get mainline Linux to work on all the random ARM e-waste out there.

DeviceTree is a joke. Microsoft at least forces ARM+UEFI, but they have locked bootloaders and even though people have found exploits to unlock them, there's virtually no reversed engineered drivers. All those hundreds of thousands of Lumina phones? Now they're e-waste. Worthless.

Linux grew because IBM created the PC. Compaq reversed engineered the BIOS and everyone started making compatibles. Over time, BIOS and later UEFI became solid standards.

ARM may be fast, but the non-standard Basic Input/Output and device detection makes it nothing but potential e-waste.

Re: Apple M1 vs. Ryzen 3900X vs. Intel I9 in Software Development

#343

Earlier quoted context omitted.

There are several theories as to why the M1 does so well on on JavaScript benchmarks. >Firestorm can do 4 FADDs and 4 FMULs per cycle with respectively 3 and 4 cycles latency. That’s quadruple the per-cycle throughput of Intel CPUs and previous AMD CPUs, and still double that of the recent Zen3, of course, still running at lower frequency. This might be one reason why Apples does so well in browser benchmarks (JavaSc…

> "There are several theories as to why the M1 does so well on on JavaScript benchmarks." A major reason it does so well is the native Javascript support added in ARMv8.3-A. Specifically, FJCVTZS (Floating-point Javascript Convert to Signed fixed-point, rounding toward Zero)[1] which is a Javascript-specific variant of FCVTZS implementing the overflow and exception handling behaviour that Javascript wants. Javascript…

People who were looking for a root cause of the iOS JavaScript performance advantage have been pointing to that instruction as "the" reason before it was even used by Safari.

https://mobile.twitter.com/saambarati/status/104920213252247...

I'm sure it doesn't hurt, but the performance advantage predates the instruction's use.

Here's another theory.

>Finally doing perf counters on a dedicated test bench... 9900K having 60% worse branch misprediction than Apple's A12.

https://twitter.com/andreif7/status/1307420010177007625

Re: Apple M1 vs. Ryzen 3900X vs. Intel I9 in Software Development

#344
post #92

Earlier quoted context omitted.

Would you also be able to run some of these? They're publicly available; the more datasets we have the better picture we get.

So, I picked out a couple that I could run without installing too much extra: Ryzen 3900X: antd-admin webpack build: ~23 seconds. Not surprising, it's just single core. golang.org/x/benchmarks, BenchmarkBuild-8: 4.61 seconds, so far off the value of 19.65s in the article that I feel I'm getting some suspicions confirmed...

> that I feel I'm getting some suspicions confirmed...

Be careful. Benchmarking is hard. Before assuming malice, try to control for other variables.

Re: Apple M1 vs. Ryzen 3900X vs. Intel I9 in Software Development

#345
post #120

Earlier quoted context omitted.

Electron apps or worse.

Not just Electron apps. I've seen people on Twitter gushing about how seamless and flicker-free is switching between screens and resolutions on M1. And yet, there's literally no reason why it can't be done today, now, on the existing hardware. Instant waking from sleep was one of the key points in M1's presentation. Something my 2007 model Macbook Pro could do. But then the subsequent releases of MacOS just couldn't…

What makes you think AMD/Intel can do instant display resolution changes?

Re: Apple M1 vs. Ryzen 3900X vs. Intel I9 in Software Development

#346

I'm still extremely suspicious of all these benchmarks, because they don't seem to correlate with my real-world experience. All these benchmarks claim to be comparing real-world applications, but I don't trust them because of what they always show with regards to mobile i9 and desktop Ryzen. I've got a Intel Macbook Pro, and a Ryzen desktop. When I'm using them for development, my Ryzen is absolutely wiping the floor…

Yeah, those benchmarks seems to be highly biased over non-multicore applications. The geekbench showed pretty much the same, M1 beats 3900X on single core performance, but only have 0.5 on overall multi-core score.

https://browser.geekbench.com/v5/cpu/compare/5326018?baselin...

This isn't a benchmark that "focused on the real-world programming", it's more of a benchmark on single core performance.

Re: Apple M1 vs. Ryzen 3900X vs. Intel I9 in Software Development

#347
post #68

Earlier quoted context omitted.

Yep. But these days for anything else, I just fire up a cloud VM and kill it when it's done. I spent less on that than the 3900X and RAM would have cost me in 5 years. My main daily driver machine and dev box is now the absolute ass end M1 Mac Mini and it's the best computer I have ever had.

I sit here with 24GB memory usage just from my browser, a couple PDFs and two IDEs (Visual Studio and Visual Studio Code).

Your computer always uses as much memory as possible. That’s not evidence it wouldn’t work with less.

Re: Apple M1 vs. Ryzen 3900X vs. Intel I9 in Software Development

#348
post #317

Earlier quoted context omitted.

Maybe there are some chips with 8 functional cores but only at lower frequencies? ... just spitballing.

I mean can you imagine the uproar it would cause if Apple did that?

They don't advertise clock speeds, FWIW

Re: Apple M1 vs. Ryzen 3900X vs. Intel I9 in Software Development

#349

I'm still extremely suspicious of all these benchmarks, because they don't seem to correlate with my real-world experience. All these benchmarks claim to be comparing real-world applications, but I don't trust them because of what they always show with regards to mobile i9 and desktop Ryzen. I've got a Intel Macbook Pro, and a Ryzen desktop. When I'm using them for development, my Ryzen is absolutely wiping the floor…

Same for me. I have a Ryzen 5 and it feels about 3x faster than anything else in the house, and it's not even the most expensive chip in the house. Next year definitely getting another Amd chip to upgrade my now old ryzen 5. Not touching Intel again in a long time.

Re: Apple M1 vs. Ryzen 3900X vs. Intel I9 in Software Development

#350
I really fear that Linux might get left behind as Apple and Microsoft go after this ARMs-race (pun intended).

At least Microsoft requires UEFI with their ARM offerings, but often the bootloaders are locked. I love Linux and I love running it natively. Currently I can grab almost any Dell, HP, Lenovo, MSI, etc. desktop/laptop and there's a very good chance all the hardware will work with mainline Linux. If I get a laptop with replaceable Wi-Fi on those little PCI-E or M.2 cards, I can pretty much get past any hardware limitations.

Microsoft pretends they're onboard with Linux, but they still have hundreds of thousands (maybe millions? I don't think they sold that well) Nokia Lumina Windows phones that are e-waste bricks. They've released no docs for people who want to make Linux drivers and people have had to find exploits to unlock their bootloaders.

PostmarketOS is making some amazing strides, but they can't keep up with all these new incompatible ARM devices. PC architecture based Intel x86/64 devices allowed for Linux to thrive in the niece hacker/developer world. ARM has no standards for basic-input-output or device management (please don't say "device tree." It's garbage and no one uses it).

Alternatively, Intel or AMD need to step up their game and show the x86_64 instruction set can be implemented in such a way to get some of the same speed boosts seen on the M1. I'm not sure which one we'll see going forward, but I hope Linux doesn't get left behind.

Post reply on HN