Research on Carbon Intensity Software and Its Impact
Not all electricity is the same – some sources cause almost no harm to the planet, while others release a lot of carbon dioxide. Even when you run a regular app, it uses energy. But if the code runs at the right time and in the right place, its impact on the climate can be reduced. This approach is called lowering carbon intensity.
What Is Carbon Intensity in Code?
CO₂ emissions are the carbon dioxide released when we generate electricity, move goods, or run digital services – even something as light as loading a website. But how much is emitted depends on when and where the code runs. That’s what defines the carbon intensity of code – the amount of CO₂-equivalent released per unit of computation.
Imagine a backend system processing requests at 3 a.m. Not much is happening on the surface – just lines of code running somewhere in a server room. At that time, the power grid often leans on higher-emission sources. Coal, sometimes. Or whatever’s still running overnight. If the same operation is delayed by a few hours, it might end up using cleaner energy instead. Wind. Hydro. Whatever the grid offers in daylight. The result is striking – the code is identical, but the footprint is different.

The difference accumulates. A data center powered by coal emits far more carbon dioxide per byte than one running on solar or hydro power. And it doesn’t stop with electricity – things get worse when code includes unnecessary loops, background tasks, and repetitive logic.
There is a common belief that modern means sustainable. That’s a myth. If a microservice-based architecture isn’t optimized deliberately, it can generate excess API traffic, duplicated logs, and overloaded storage. All of these processes keep running in the background, consuming resources without real benefit.
Efficiency is about awareness – awareness as a marker of both modernity and sustainability.
How to Measure and Reduce It
Measuring carbon intensity starts with estimating energy consumption per feature, per deployment, per transaction. Several tools now estimate emissions using models calibrated against real-world energy profiles – though precision remains a challenge. But even with imperfect data, trends are telling.
The process usually begins with profiling the application’s runtime behavior: CPU usage, memory allocation, I/O activity, network requests. Overlay that with the carbon intensity of electricity in the region where execution occurs – and patterns emerge. Spiky compute loads during peak grid hours? Bad sign. Idling containers running in coal-powered zones? Worse.
To reduce carbon intensity:
- Avoid unnecessary computation – don’t loop what can be cached.
- Optimize for efficient data transfer – choose compression, minimize payloads, avoid polling.
- Monitor emissions during deployment – especially in CI/CD pipelines with frequent triggers.
The irony? Some of the highest-emitting behavior comes not from end-user features but from testing suites and build automation. Code that never sees production still burns electrons.

Case Examples from Development Practices
It was a fintech build – ordinary at first glance, though something always felt slightly off. The devs began spotting slowdowns in the sign-up step. Nothing crashed. But it moved like cold syrup. Eventually, they dug deeper: API calls, chained one after another, circling back to fetch almost the same data, filling logs, retrying, cluttering the process without adding anything useful.
From the outside, it seemed fine. Smooth even. But once they ran it through an energy profiler, things got less abstract. That single onboarding path was pulling three times the load it needed. The fix wasn’t dramatic – just a leaner bit of logic. And without touching infrastructure, emissions dropped by 41%.
Another team – same company, different rhythm. They were running batch jobs across five regions, all timed to launch overnight. The coordination was clean. The clocks were not. Turns out, some zones were hitting peak-carbon hours without anyone noticing. The solution? Nudging execution windows into local daylight. Same tasks, better grid. Numbers dropped.
No fancy rewrites. Just the kind of adjustments no one really brags about. Hidden in schedulers, in old configs, in the habits that never got reviewed – until someone finally did.
Summary and Best Practices
Carbon intensity software isn’t a buzzword – it’s a metric. And metrics can be tracked, optimized, and reported. Not perfectly, but well enough to matter.
The path forward is layered, but not obscure. Start with awareness – what runs, where, and when. Then act:
- Audit idle workloads.
- Schedule around grid intensity.
- Profile application behavior.
- Remove dead or redundant code.
- Challenge assumptions about “modern” is “efficient.”
Because the biggest impact rarely comes from moonshots. It comes from thousands of small decisions – the kind made quietly, commit after commit, somewhere between stand-up and sunset.