There is a strategy in mobile devices called "hurry up and wait" where the CPU goes to full power and clock speed to (a) finish the user request as quickly as possible, but (b) to go back to sleep as soon as it can. Sleep states use little power, and most of the time a mobile CPU is doing little more than idling. Maxing the CPU continuously doesn't represent its typical workload.
Put it another way, it's like complaining that Car A gets shitty MPG when you floor it and take it to speeds over 100MPH. Most people won't drive it like that, so what you are interested in is what its MPG looks like around town or on the motorway.