Usually there is a direct correlation, most of an applications power consumption will come from time on the CPU, even SSD's are using 2-4W.. memory is even less expensive for power, but CPU can be up to 85W for a fully loaded laptop CPU (well, mine)
Make sure your application doesn't idle rough, and executes quickly to spend less time on the CPU, power consumption will follow.
It's a little more complicated than that though. For example, SSE/AVX instructions cause Intel CPUs to (briefly) raise power consumption considerably[1]. In some cases it may be better to avoid vector instructions when optimizing for battery life at the cost of speed.
Also being smart about rendering (particularly for web, poorly written animations can run smoothly but kill battery life) can dramatically affect battery life even without affecting execution speed particularly much. They are separate, though closely related, concepts.
> For example, SSE/AVX instructions cause Intel CPUs to (briefly) raise power consumption considerably[1].
I've never seen a case in which getting the work done faster wasn't a win. That doesn't mean it can't happen, of course… But usually vector instructions are a win.
When optimizing for wattage, SIMD is great for getting stuff done quickly so you can get back to spinning on low-power Pause instructions.
But, if you SIMD-optimize, cheer at how much faster things are, then tell yourself "That means I can squeeze in 4-8x more work in the same time!" Well... You not only eliminated all the Pause time you gained, but you replaced it with high-wattage work.
It takes discipline to optimize for power. Somewhat karmicly, pushing to max out everything can backfire when you overheat the CPU and end up just pushing it into adopting a lower clock rate.
If you raise power consumption by a factor of 4 in the ALU and ROB, you'll still take less power if you go 4x faster, assuming other parts of the system remain at constant consumption.
Also take into account memory clock speeds and power on time. Every nanosecond your CPU spends with the memory bus powered up and the memory at top clock, is an important nanosecond.