Turbo Boost

May 11, 2020

Earlier this year, I wrote about my impressions of the original Surface Go, which is a low-spec device compared to most computers: its CPU only has two cores and lacks Turbo Boost. As such, the Surface Go is an excellent device to test certain normal workflows with a slower device.

I set up my Surface Go with a variety of tools, and the first thing I noticed is that the lack of Turbo Boost is noticeable: everything takes quite a while. Because the CPU can’t boost to e.g. 3 GHz (like the MacBook Air can, for example) it is consistently slow.

It’s also consistently cool. On any given machine, Turbo Boost comes at a price — it significantly affects the thermal budget of the Intel CPU inside.

As a side note:

I was recently watching reviews of the MacBook Air and MacBook Pro, and one of the things that came up a lot was people saying that the machine was “thermal throttling”. This is incorrect. One can only say that you’re “thermal throttling” once the computer starts lowering the CPU frequency below the default CPU clock speed (not the boosted frequency).

When you choose a device, you have to consider what it is going to be capable of: in the case of a very portable device like a Surface Go, Surface Pro or even a MacBook Air, you must understand that these devices were designed with the thinness being an important factor. As such, the thinness is an important part of the thermal budget equation.

Now, I do agree with the sentiment that Apple could’ve put better cooling in their laptops, but that’s hardly news: they’ve always favoured passive cooling and lowering clock speeds over loud, noisy fans.

This is why tools like Turbo Boost Switcher are excellent options for those looking for a quiet laptop.

Regardless, the Surface Go is locked at a low speed — many common tasks (opening a browser, loading web pages, opening a text editor, etc.) take a little bit longer than I’m used to on faster dual-core or quad-core devices with Turbo Boost.

The gap widens

What’s painfully obvious on this device is the dichotomy between well-optimised apps (they run just fine, they run a bit more slowly) and poorly optimised apps (they run very slowly, and often cause the device to hang).

Now — and this might sound familiar, because every now and then I feel I have to remind people — if an app uses Electron, it will not run as well on the Surface Go. So yes: on low-spec devices, it does make a difference whether you’re using Electron, or whether you’re writing native code.

If you chose Electron: yes, your app might’ve been built faster. But it’s a worse app for it on devices that don’t have much compute power due to the increased overhead of the browser engine in the background. And if you’re okay with shipping that, then that’s your call. I just think it’s stupid and a waste of resources, frankly.

Another realisation

Another important thought I had earlier: the fact that iOS devices don’t have Turbo Boost, nor need to support custom web browser engines like Chromium, means that they can stay cool and fast. Obviously, if you put them under sustained load, like when playing GPU-intensive games, the devices will get hot. That’s inevitable.

Tagged as: Programming