Live data from Hacker News

Ask HN: Why hasn't x86 caught up with Apple M series?

news.ycombinator.com

131–140 of 640 posts

Re: Ask HN: Why hasn't x86 caught up with Apple M series?

#131

Earlier quoted context omitted.

ARM instructions are fixed size, while x86 are variable. This makes a wide decoder fairly trivial for ARM, while it is complex and difficult for x86. However, this doesn't really hold up as the cause for the difference. The Zen4/5 chips, for example, source the vast majority of their instructions out of their uOp trace cache, where the instructions have already been decoded. This also saves power - even on ARM, decod…

But is the uOp trace cache free? It surely doesn’t magically decode and put stuff in there without cost

For sure.. for what it's worth though, I have run across several references to arm also implementing uop caches as a power optimization versus just running the decoders, so I'm inclined to say that whatever it's cost it pays for itself. I am not a chip designer though!

Re: Ask HN: Why hasn't x86 caught up with Apple M series?

#132
That's a Chrome problem, especially on extra powerful processors like Strix Halo. Apple is very strict about power consumption in the development of Safari, but Chrome is designed to make use of all unallocated resources. This works great on a desktop computer, making it faster than Safari, but the difference isn't that significant and it results in a lot of power draw on mobile platforms. Many simple web sites will peg a CPU core even when not in focus, and it really adds up with multiple tabs open.

It's made worse on the Strix Halo platform, because it's a performance first design, so there's more resource for Chrome to take advantage of.

The closest browser to Safari that works on Linux is Falkon. It's compatability is even less than Safari, so there's a lot of sites where you can't use it, but on the ones where you can, your battery usage can be an order of magnitude less.

I recommend using Thorium instead of Chrome; it's better but it's still Chromium under the hood, so it doesn't save much power. I use it on pages that refuse to work on anything other than Chromium.

Chrome doesn't let you suspend tabs, and as far as I could find there aren't any plugins to do so; it just kills the process when there aren't enough resources and reloads the page when you return to it. Linux does have the ability to suspend processes, and you can save a lot of battery life, if you suspend Chrome when you aren't using it.

I don't know of any GUI for it, although most window managers make it easy to assign a keyboard shortcut to a command. Whenever you aren't using Chrome but don't want to deal with closing it and re-opening it, run the following command (and ignore the name, it doesn't kill the process):

    killall -STOP google-chrome
When you want to go back to using it, run:

    killall -CONT google-chrome
This works for any application, and the RAM usage will remain the same while suspended, but it won't draw power reading from or writing to RAM, and its CPU usage will drop to zero. The windows will remain open, and the window manager will handle them normally, but whats inside won't update, and clicks won't do anything until resumed.

Re: Ask HN: Why hasn't x86 caught up with Apple M series?

#133

Honestly, I have serious FOMO about this. I am never going to run a Mac (or worse: Windows) I'm 100% on Linux, but I seriously hate it that I can't reliably work at a coffee shop for five hours. Not even doing that much other than some music, coding, and a few compiles of golang code. My Apple friends get 12+ hrs of battery life. I really wish Lenovo+Fedora or whoever would get together and make that possible.

> I seriously hate it that I can't reliably work at a coffee shop for five hours

just... take your charger...

Re: Ask HN: Why hasn't x86 caught up with Apple M series?

#134
post #51

Earlier quoted context omitted.

Can confirm, when developing software (a big project at $JOB) getting 3h out of a M3 MBP is a good day. IDE, build, test and crowdstrike are all quite power hungry.

> crowdstrike It is incredible that crowdstrike is still operating as a business. It is also hard to understand why companies continue to deploy shoddy, malware-like "security" software that decreases reliability while increasing the attack surface. Basically you need another laptop just to run the "security" software.

Allegedly, crowdstrike is S-tier EDR. Can’t blame security folks to want to have it. The performance and battery tax is very real though.

Re: Ask HN: Why hasn't x86 caught up with Apple M series?

#135

I’ve been thinking a lot about getting something from Framework, as I like their ethos around relatability. However, I currently have an M1 Pro which works just fine, so I’ve been kicking the can down the road while worrying that it just won’t be up to par in terms of what I’m used to from Apple. Not just the processor, but everything. Even in the Intel Mac days, I ended up buying a Asus Zephyrus G14, which had nothi…

I recently upgraded from an M1 mac book pro 15", which I was pretty happy with, to the M4 max pro 16". I've been extremely impressed with the new laptop. The key metric I use to judge performance is build speed for our main project. It's a thing I do a few dozen times per day. The M1 took about four minutes to run our integration tests. I should add that those tests run in parallel and make heavy use of docker. There…

Considering the amount of engineering that goes into Apple's laptops, and compared to other professional tools, 4000 EUR is extremely cheap. Other tradespeople have to spend 10x more.

Re: Ask HN: Why hasn't x86 caught up with Apple M series?

#136
post #72

Apple tailors their software to run optimally on their hardware. Other OSs have to work on a variety of platforms. Therefore limiting the amount of hardware specific optimizations.

This argument never passes the sniff test. You can run Linux on a MacBook Pro and get similar power efficiency. Or run third party apps on macOS and similarly get good efficiency.

unfortunately, contrarily to popular belief, you cannot run Linux natively on recent macbooks (m4) today.

Re: Ask HN: Why hasn't x86 caught up with Apple M series?

#137

Battery efficiency comes from a million little optimizations in the technology stack, most of which comes down to using the CPU as little as possible. As such the instruction set architecture and process node aren't usually that important when it comes to your battery life. If you fully load the CPU and calculate how much energy a AI340 needs to perform a fixed workload and compare that to a M1 you'll probably find s…

> All that to say: M1 is pretty fast, but the reason the battery life is better has to do with everything other than the CPU cores. That's what AMD and Intel are missing. A good demonstration is the Android kernel. By far the biggest difference between it and the stock Linux kernel is power management. Many subsystems down to the process scheduler are modified and tuned to improve battery life.

And the more relevant case for laptops is macOS, which is heavily optimized for battery life and power draw in ways that Linux just isn't, neither is Windows. A lot of the problems here can't actually be fixed by intel, amd, or anyone designing x86 laptops because getting that level of efficiency requires the ability to strongly lead the app developer community. It also requires highly competent operating system developers focusing on the issue for a very long time, and being able to co-design the operating system, firmware and hardware together. Microsoft barely cares about Windows anymore, the Linux guys only care about servers since forever, and that leaves Apple alone in the market. I doubt anything will change anytime soon.

Re: Ask HN: Why hasn't x86 caught up with Apple M series?

#138
post #92

A lot of insightful comments already, but there are two other tricks I think Apple is using: (1) the laptops can get really hot before the fans turn on audibly and (2) the fans are engineered to be super quiet. So even if they run on low RPM, you won't hear them. This makes the M-series seem even more efficient than they are. Also, especially the MacBook Pros have really large batteries, on average larger than the co…

The macbook air doesn't even have a fan. I don't think you could built a fan-less x86 laptop.

Sure you can. There are a bunch listed in this article: https://www.ultrabookreview.com/6520-fanless-ultrabooks/

Fanless x86 desktops are a thing too, in the form of thin clients and small PCs intended for business use. I have a few HP T630s I use as servers (I have used them as desktop PCs too, but my tab-hoarding habit makes them throttle a bit too much for my use - they'd be fine for a lot of people).

Re: Ask HN: Why hasn't x86 caught up with Apple M series?

#139

Earlier quoted context omitted.

The macbook air doesn't even have a fan. I don't think you could built a fan-less x86 laptop.

You can, the thing is you have to build it out of a solid piece of metal. Either that's patented by Apple or it is too expensive for x86 system builders.

If I recall correctly Apple had to buy enormous numbers of CNC machines in order to build laptops that way. It was considered insane by the industry at the time.

Re: Ask HN: Why hasn't x86 caught up with Apple M series?

#140
Thanks for the honest review! I have two Intel ThinkPads (2018 and 2020) and I've been eying the Framework laptops for a few years as a potential replacement. It seems they do keep getting better, but I might just wait another year. When will x86 have the "alien technology from the future" moment that M1 users had years ago already?
Post reply on HN