Linked by Thom Holwerda on Wed 20th Dec 2017 17:36 UTC

A Reddit post from last week has sparked a discussion regarding iPhone performance as a function of battery age. While we expect battery capacity to decrease as batteries age, we expect processor performance to stay the same. However, users with older iPhones with lower-than-expected Geekbench 4 scores have reported that replacing the battery increases their score (as well as the performance of the phone). What's going on here? How many phones are experiencing decreased Geekbench 4 score?

To answer these questions I've 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 are not included in the distribution.

Evidence seems to be mounting that Apple is decreasing the clock speed of iPhones with decreased battery capacity to maintain the advertised battery life.

Thread beginning with comment 652268
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE: Known issue
by Alfman on Wed 20th Dec 2017 22:19 UTC in reply to "Known issue"
Member since:


Happens in ALL phones.

There's a high risk of being wrong when you make absolutist blanket assertions like that. But nevertheless it's worth testing on my phone. I will try to get back to you on whether the charge has any effect on performance, as outlined in my earlier post.

Get a new battery...

Unfortunately this is part of the problem, manufacturers would have us throw our phones away instead ;)

Reply Parent Score: 4

RE[2]: Known issue
by Alfman on Thu 21st Dec 2017 04:33 in reply to "RE: Known issue"
Alfman Member since:

I will try to get back to you on whether the charge has any effect on performance, as outlined in my earlier post.

Well guys, here I was taking measurements, but it seems that I've been banned from geekbench for performing too many benchmarks. Apparently the geekbench app internally doesn't let you view your results directly, instead results must be processed by a geekbench server first. Not that I'd care except that they blocked access to my data. This is what pisses me off about not having apps that run locally and forcing us to be dependent on 3rd party servers, they're not dependable. To Geekbench: designing local apps this way is totally lame.

Anyways, the following graph is an incomplete snapshot of what I was able to get, I actually ran the tests down to about 30%, but those results are missing from my benchmark history. I was also going to test on a full charge. Unfortunately without those tests it's inconclusive as is.

Note: libreoffice insisted on sorting the battery % in ascending order even though the data was collected in descending order.

I'll try checking if I'm unblocked tomorrow. If anyone else attempts to perform a test, don't attempt to go for as many data points as I did - having this level of detail is useless if you cannot finish!

Edited 2017-12-21 04:46 UTC

Reply Parent Score: 3

RE[3]: Known issue
by Alfman on Thu 21st Dec 2017 16:39 in reply to "RE[2]: Known issue"
Alfman Member since:

I managed to run more benchmarks. It looks like my phone's performance remains quite stable regardless of the battery's voltage or being plugged in.

Can anyone perform the benchmarks on an iphone afflicted by the software slowdown? In particular I'd like to see if plugging in the phone restores the performance versus low battery.

Edited 2017-12-21 16:44 UTC

Reply Parent Score: 3

RE[3]: Known issue
by Tony Swash on Fri 22nd Dec 2017 13:27 in reply to "RE[2]: Known issue"
Tony Swash Member since:

Things like Geekbench may not produce a useful metric in this situation.

What Apple has done is introduce a throttling system used in very specific and episodic situations where iPhones with older partially worn out batteries encounter peak system utilisation (a relatively rare event) which without the episodic throttling could cause the iPhone to suddenly shut down due to lack of power. Once the peak usage passes the throttling is turned off. Most of the time the throttling isn't implemented because most of the time older iPhones with worn out batteries are not being used at full system capacity. Obviously the more worn out a battery is the more like it is likely to encounter an event that requires throttling but even a very worn out battery is highly unlikely to require permanent throttling.

This episodic throttling will almost always show up in benchmarking exercises as benchmarking software is intended to test the maximum system performance and will thus almost certainly trigger precisely the circumstances which trigger the throttling. The benchmarking software does not replicate normal everyday usage.

Edited 2017-12-22 13:28 UTC

Reply Parent Score: -1