The cost of program energy efficiency

May 29, 2009

There's been somewhat of a movement of late to make programs be energy efficient (both for applications that might be running on laptops and for applications that might run in a cloud computing environment with detailed charging). This all sounds very good and worthwhile, and hard to argue against.

But it has a problem (the same problem as always, really). In general, such efficiency is not free since development time is not limitless. Saying that applications should be optimized to be 'green' in this way is to say that they should have less features or be slower to develop or both.

(And this is just as true of open source programs as it is of commercial programs.)

Despite this, it may come to pass that 'green' applications will appear and that the greenness of an application will matter. But if it does, it will be because the costs of not being green have changed, and changed enough to matter, not because it is a praiseworthy thing in general. And advocating for energy efficiency in programs without figuring out how to pay for it is once again solving the technical problem without considering the more important social one.

Now it's time to be honest: this is a fairly pessimistic view of the situation. The more optimistic one is that there are a number of improvements that are basically costless if they're done when the code is being written, situations where there is an equally good but more energy efficient ways of doing something (in the same way that select() is better than busy-waits). Getting people to use these better ways would only take education and persuasion, and I think that's already started happening.


Comments on this page:

From 82.181.217.186 at 2009-05-29 11:09:08:

I must admit: as a occasional kernel hacker I am highly skeptical about "program energy efficiency".

We have enough problems with things like ACPI and interrupt handling in every existing kernel. Against this the issues people have with "blinking cursors" sound like, well, pompous handwaving (but admittedly for the good cause).

By cks at 2009-05-30 02:15:48:

For all that I said grumpy things here, I think that some of the issue is real and does matter, and even will improve things for everyone (if programs stop doing stupid things just because it hasn't hurt too much, so far).

I put more detailed thoughts in EfficiencyOptimistView.

Written on 29 May 2009.
« Encapsulation may be in the eye of the beholder
The program energy efficiency optimist's view »

Page tools: View Source, View Normal.
Search:
Login: Password:

Last modified: Fri May 29 02:13:50 2009
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.