← Back to context

Comment by jcelerier

11 hours ago

As a user with a laptop, the last thing I want is the OS to decide for me. I want to tell it myself "this is sensitive, put all your energy into it because I'm five minutes away from pushing that important work and I have seven minutes of battery left" or "this won't work at all if run at less than 2 GHz" vs "I must drag what I'm doing along for as long as I can, save every bit of battery possible. The computer can't know about these cases.

The problem is you don't really think about those cases early enough to matter. 7 minutes of battery isn't even a knowable thing - that is current average (though often not calculated that well) and could be 10 minutes if nothing happens (no emails arrive, no web pages rendering in the background, don't touch anything on it....), but if you try to run that 5 minute task in reality you have 2 minutes of CPU using the P cores, or 5 minutes using the E cores - but on the E cores you need 7 minutes. The above times are all made up of course, but they give the idea.

If when the battery is full you make the right decisions your battery can last longer. However this isn't something you can do. You don't want a pop-up when your email program spawns a thread to check for new email - programs do this all the time and the system doesn't know if the thread itself will run for a few ms or for hours. In most cases the battery consumed by the popup will be more than the thread itself uses. You want the system to make the right decisions - but the right decision depends on your system and someone else with a difference CPU may need different decisions.