DEV Community

Valentin Sawadski (he/him)
Valentin Sawadski (he/him)

Posted on • Updated on

Fight climate change with better software

Who here thinks about Energy wasted by bad Software when programming? I did during the last couple of days and hereβ€˜s what I found out:

Software and Energy

The link between software and energy is not easily visible, only few companies such as https://www.getflyweight.com/ target it directly, yet it is there. For example: A single google search releases 0.2g CO2 into the atmosphere. Enough energy to power a lightbulb for 16 seconds.

If global Information and Computer Technology was a country, only US and China would consume more energy. Yale even calls them energy hogs.

The Guardian reports that by 2025 ICT could use 20% of global electricity and releasing more CO2 than shipping or aviation.

Improving Hardware is Hard

To fight this trend, data centers increased their Power Usage Effectiveness. In the past PUE has dropped from 2-3x to 1.1x, with 1.0 being the best possible value.

Still, energy consumption is on the rise. Google nearly doubled their electricity consumption in the last 5 years

Google 2018 Sustainability Report Screenshot

Similarly, conventional CPUs are trapped within the limits of moores law leaving only little room for improvement

Stop Software Waste

Software however, has never been more wasteful. As was pointed out by http://tonsky.me/blog/disenchantment/ and XKCD.

Software Development

Saving energy with software can be as easy as making sure your code has been compiled correctly. In an experiment comparing re-compiling SQLite vs. the downloaded binary, the energy consumption was cut in half and performance was improved by 13%.

Therefore, fight software waste! Optimize performance, cut costs and do good by saving IT energy. Learn about lightweight protocols and libraries, make a code fatcamp, declare performance as a development goal and profile regularly. If you want to know more, reach out to me or visit https://www.getflyweight.com/

Top comments (0)