Programming spans a lot of orders of magnitude. If you're writing code for a multi-hundred system cluster, then by all means consider energy consumption. But it's also easy to spend hours, days, weeks to save a net total of several milligrams of CO2, because your program won't even spend as long in its total life time executing as you spent writing it, in which case the costs of execution are actually less that the development.
Also the twice as fast therefore using twice less power is wrong.
Once again, you could just use a language where they do this for you in the runtime instead of trying to reinvent (probably poorly) these ideas yourself.
You're right in that not running the workload if possible is the best power savings but if you can't do that moving it to more efficient usage is a good way to make large inroads on power usage.