A recent reddit post sparked speculation that Apple is underclocking the CPU of iPhones with degraded batteries to prevent unintended shutdowns and extend battery life. To test this, Poole plotted the kernel density of Geekbench 4 single-core scores for the iPhone 6s and the iPhone 7 running different versions of iOS. Scores obtained in low power mode were not included.
As you can see, there is only one large peak in scores for the iPhone 6s until iOS 10.2.1 when scores are distributed across five peaks. This was the firmware Apple released to fix unexpected shutdowns. The peaks become even more pronounced with iOS 11.2.
Interestingly, the iPhone 7 has just one peak for iOS 10.2, iOS 10.2.1, and iOS 11.1.2; however, scores get distributed across 4 peaks with iOS 11.2. This suggests that Apple is intentionally introducing the behavior once the device has aged to the point where most user's batteries are degraded.
Users expect either full performance, or reduced performance with a notification that their phone is in low-power mode. This fix creates a third, unexpected state. While this state is created to mask a deficiency in battery power, users may believe that the slow down is due to CPU performance, instead of battery performance, which is triggering an Apple introduced CPU slow-down. This fix will also cause users to think, “my phone is slow so I should replace it” not, “my phone is slow so I should replace its battery”. This will likely feed into the “planned obsolecense” narritive.
We'll let you know if Apple issues a statement to clarify what's going on. Please follow iClarified on Twitter, Facebook, Google+, or RSS for updates.