Evaluating M3 Pro CPU Cores: General Performance
eclecticlight.co
eclecticlight.co
99.99% of computing involves branch prediction, caching, frontend decoding capacity, memory bandwidth, and more. Usually the bottleneck.
Unless you just want to run highly artificial benchmarks, you’d always want a well-fed, high-efficiency processor that has a lower theoretical maximum, versus a severely bottlenecked, DRAM-waiting processor even if the latter has 2x faster ALU performance.
Seems like a strange test then..
Can anyone speak to performance regarding programming?
My 2017 macbook pro is good enough for a lot of things (running java locally, node with nodemon), but slows down for anything native app (xcode) related and running a Docker container with >1GB memory. That's where I'd love to have some improvement
I regret waiting for M2 Pro and wasted so much time working on a slow 2017 MacBook Pro.
But Xcode's issues are Xcode, not the processor. It will still hang the main thread whenever it wants, just for a bit less time, and your Swift builds will be faster, even if it still doesn't scale linearly with core count.
It becomes an entirely different machine. It would not only run/compile your projects much faster, but also literally will have twice to thrice the battery life, and never ever makes noise or get hot. I would only recommend at least a 512GB storage though.
I used to passionately HATE using Macs pre-Apple Silicon era and work 24x7 with Linux at that time, but today I doubt if I will ever use anything other than a Macbook for all my needs. The only reason is Apple Silicon
I really have to say after moving to a M3 Macbook from Intel jesus its smooth, and the battery feels like it never goes down.
We already have popular benchmarks like Geekbench that include real world workloads borrowed from popular open source software.
For instance, Geekbench includes (among others) a subtest that compiles an open source Lua interpreter using Clang, and another that uses Google's PDFium to render PDF files.
https://www.geekbench.com/doc/geekbench6-benchmark-internals...
HN might be missing this part, but I'm pretty happy that product people are still at the helm at Apple. We're talking about cores and this and that, but if you go to, for example, forums for Redshift renderer and hear what users of _tools_ who do things with these cores are saying, they are salivating over the M3.
One of the sneakily genius things Apple seems to be doing is, it goes to developers of some of the most "popular" apps and works with them to make their apps work well. Behind the scenes it's working with Maxon, Autodesk, Adobe etc to make things run well, and the information it gathers from working with them informs direction of further R&D. Which is how we came to have hardware-based ray tracing and other things that will actually play a pivotal part in improving end user experience for power users.
This has been part of their playbook for decades. I distinctly remember some folks from Wolfram (maybe Stephen Wolfram himself?) demo Mathematica running on Intel macs (and talking about how easy it was to port) as part of announcing the transition to Intel.
What exactly is the problem? Microsoft, Sun etc did the same. Microsoft has a library of software and put in “fixes” so old code that used undefined behavior would continue to run as the os was upgraded.
The Cell hardware didn't turn out how Sony expected either - hence adding an Nvidia GPU at the 11th hour, and bumping up the console price significantly.
Even with hardware acceleration it’s so expensive there is no way they’ll make it a core part of any of their renderers.
(skyvase.pov was the customary benchmark scene back when pov-ray was a thing, somewhat popular as an FPU-centric real life benchmark in the early Pentium age)
Genuine question, what app is able to utilize ANE? It seems like it's been there for multiple generations and yet nothing makes use of it.
It is not directly exposed/documented, but instead leveraged by system ML-oriented frameworks like Core ML and Vision where appropriate.
Absolutely this.
And the small category of people upgrading from M2 from M3 will do it because they know what they need. They won't be dithering about with random evaluations or reading random blog posts. They'll just buy, infact they probably bought the day of the release.
It was curious when they announced Apple Vision Pro would still be using 5nm. This sheds some light on that decision.
Anecdotally, A professional photographer I know invests significantly in hardware that speeds him up, and he upgraded from the M1 to the M2 because it allowed him to edit photos faster, allowing him to spend less time per job, so he could do more jobs and make more money. He was able to do math and determine how much time it needed to save him to be a worthwhile investment.
I don’t in any way “need” an M3 but this was a particular painful turn of the ever-rotating upgrade wheel, and the generous valuation on the trade certainly took some of the sting off.
Perhaps not showing it means there is little benefit from going from 5nm to 3nm?
For example, the M3 Pro has 6+6 P/E cores, versus the M2 Pro's 8+4. That is a big change that impacts performance, but can only be truly measured "globally" on a specific workload. The M3 Pro does do better for many workloads despite that. Maybe we could assume the improvement in transistor density gave them enough performance uplift, they were able to get rid of 2 P cores and still come out ahead. Does that mean that 3nm is "bad"? No, it meant it was good enough that it allowed them to make a different tradeoff.
"How much uplift comes from this one exact thing" is not really a super simple question to answer in this case, unfortunately, and there are many factors to control for.
So going back to your original question, I think the reason people compare the M1 vs the M3, and not M2 vs M3, has nothing to do with making 3nm "look good" or whatever. The reason is more mundane: it's because that's what people would probably upgrade from. Because of all the differences, the only way to know whether an upgrade is worth it is to do workload comparisons, not one-to-one architectural/litho comparisons.
1) The benchmarks are intentionally designed to not have any memory access or even L1 cache access. That’s about as far from real world performance as you can get.
2) They say the reason for avoiding real world benchmarking is to measure raw core performance. However, only a few CPU instructions are tested, so it’s not representative. The time it takes instructions to execute depends on the instruction, and even how different instructions proceed and follow each other, aa well as other factors. This approach alone would not produce the measurement being sought.
3) Even if results were useful and the methodology were valid, the conclusions at the end seem to state the obvious. M3 core is more efficient that the M1 core, etc.
The E cores have a wider range on both sides in the M3; they are lower at base clock and have a higher max clock.
1. Name their company after a common fruit
2. That common fruit being already word that was used as a company name when they were launched (by none other than the Beatles)
3. Then after they lost a lawsuit, settle with said company based on an agreement that they wouldn't enter that company's field
4. Then a bunch of years later enter that company's field anyway
Long story short: because they can ¯\_(ツ)_/¯
If there’s any lesson I’d draw from this, it’s that trademark law should have high barriers to claims for generic names. If you want total control, invent a new word.
Meanwhile Arm Cortex is semi-random, sometimes incrementing (M0,M1) sometimes with a "+" designation (M0+) and then just seemingly random jumps up to non-sequential double digits (M23,M35,M52 with or without a P designation. Its like "come on guys, make your mind up".
M (Microcontroller), R (Real-time), and A (Application) core profiles.
https://en.wikipedia.org/wiki/ARM_Cortex-M#Cortex-M3 - 2004.
https://en.wikipedia.org/wiki/Apple_M3 - 2023.
> Some might argue that Apple's usage of it makes more sense. M-series for Macs and they are just incrementing numerically.
By this logic if you name a project Y but I can argue my naming of a much newer project Y is "more logical", you should abandon Y?
Chronology matters :-)
Yes, people saw Cinebench R23 results when the first M3 Mac review came out.