The uproar around Apple's iPhone 6 throttling due to ageing batteries has only just started to die down but it looks like the company has a new problem on its hands. Recently, Apple began rolling out its patch for the Spectre CPU bug and according to security researchers, it has reduced iPhone 6 performance by a hefty amount.
According to Melvin Mughal, a Dutch security researcher, benchmarks show that Apple's iOS fix has heavily impacted the Apple A8 processor. When running the benchmarks, the iPhone 6 scored 41 percent lower on single core tests after the Spectre patch and 39 percent lower in multi-core tests.
There were warnings of a potential performance hit on other platforms once OS makers began patching the Spectre bug. There were plenty of worries surrounding the performance of Intel processors in particular when performing certain tasks. However, it looks like the iPhone 6 has had the biggest hit of all.
According to Mughal, web surfing in particular has taken a performance hit on the iPhone 6, with HTML 5 Parse being knocked down by 46 percent compared to the iOS version before the patch. Right now, we don't know how much of an impact there is on other older iPhones, like the 5S. It is likely that newer models like the iPhone 7, 8 and X won't see much of a hit by comparison.
KitGuru Says: Most OS makers have said that over time, the initial performance hit will be mitigated. Right now it seems that priority 1 is fixing the security hole as quickly as possible, with efficiency coming into play later on. Apple hasn't publicly commented on this just yet but given that it has occurred so swiftly after the battery throttling issue, it is going to ruffle some feathers.
why on earth does web surfing in iPhone need to go so deep into the kernel anyway?
Everything needs to go through the kernel.
Unlike meltdown, spectre doesn’t require involving the kernel. JavaScript is a very good vector for spectre.
My knowledge is limited but as far as I know, not every program go through the kernel, it interact with drivers and other higher layers of the OS to get the job done without getting that deep.
Like when you get to the bank to withdraw some money, you don’t go yourself in the treasury to get your money, someone from the bank take that money or just have a small deposit in their desk and give them to you, or if you go to the ATM the machine doesn’t take directly from the treasury but have a small deposit to give you.
At least this is my conclusion from what I have seen so far (and for example the near zero impact in games that run on the surface of the OS).
Thanks, for some reason everything I have read so far only worry about meltdown so I was not informed on that.
All interactions with the hardware (reading from memory, reading from the keyboard, writing to screen) needs to go through the kernel, the higher layers of the OS simply delegate jobs to the kernel, but everything needs the kernel.
Now the spectre and meltdown fixes don’t affect absolutely everything, that’s why the discrepancies.