Greener Coding
Linux Magazine|#270/May 2023: Green Coding
Go has a reputation for producing energy-saving applications, but you still have to know what you are doing.
Tim Schürmann
Greener Coding

Applications use the processor in different ways, and those differences are sometimes reflected in the power bill. The programming language you choose has a significant influence on energy consumption. But developers still need to go the extra mile to leverage the language’s capabilities.

At first glance, Go comes with everything you need for energy efficiency. It has a lean syntax, and smart Goroutines distribute parallel tasks efficiently to the processor cores, thus avoiding a bloated runtime environment that needs to manage complex class hierarchies or juggle classic threads. And the compiler translates the source code into a native and therefore fast program, which means the processor can go back to sleep sooner and save energy. On top of that, Go statically links all external modules into the finished binary, eliminating the administrative overhead of dynamic libraries during execution.

This contrasts strongly with Java, where a compiler converts the program into intermediate code, which is then executed by a virtual machine. This additional software layer slows down execution and costs unnecessary energy. The situation is even worse for interpreted languages: PHP and Python parse each line of code step-by-step during execution. Numerous optimizations and just-in-time compilers are intended to make the resulting applications faster, but there is still some loss, depending on the task. If you want to develop energy-efficient programs, you need to go for Go, right? Or maybe not? The following look at energy efficiency in Go is a useful entry point for examining some more general rules for more efficient coding.

SLE Research

Denne historien er fra #270/May 2023: Green Coding-utgaven av Linux Magazine.

Start din 7-dagers gratis prøveperiode på Magzter GOLD for å få tilgang til tusenvis av utvalgte premiumhistorier og 9000+ magasiner og aviser.

Denne historien er fra #270/May 2023: Green Coding-utgaven av Linux Magazine.

Start din 7-dagers gratis prøveperiode på Magzter GOLD for å få tilgang til tusenvis av utvalgte premiumhistorier og 9000+ magasiner og aviser.

FLERE HISTORIER FRA LINUX MAGAZINESe alt
Tracking your finances with plain text accounting Plain Numbers
Linux Magazine

Tracking your finances with plain text accounting Plain Numbers

If you're tired of tinkering with spreadsheets, using hledger and plain text accounting offers a simpler method for managing your finances without vendor lock-in

time-read
4 mins  |
#285/August 2024: Kernel Exploits
Dependency resolution with apt-get and apt Evolutionary Tale
Linux Magazine

Dependency resolution with apt-get and apt Evolutionary Tale

Over the past 30 years, the apt family has played an important role in dependency resolution for Debian distros.

time-read
5 mins  |
#285/August 2024: Kernel Exploits
Cryptomining with Litecoin Traveling Lite
Linux Magazine

Cryptomining with Litecoin Traveling Lite

Although not as popular as headliners like Bitcoin and Ethereum, Litecoin is one of the oldest crytocurrencies, and it offers some useful features, such as dual-mining with Dogecoin.

time-read
5 mins  |
#285/August 2024: Kernel Exploits
Software Update SnoopGod
Linux Magazine

Software Update SnoopGod

SnoopGod delivers an Ubuntu-based pentesting distribution with an emphasis on security education.

time-read
6 mins  |
#285/August 2024: Kernel Exploits
Kernel Trouble
Linux Magazine

Kernel Trouble

This deep look at how intruders attack an out-of-date kernel should be enough to convince you of the need to stay vigilant.

time-read
3 mins  |
#285/August 2024: Kernel Exploits
Using Wake-on-LAN for a NAS backup Power Saver
Linux Magazine

Using Wake-on-LAN for a NAS backup Power Saver

Put your backup server to sleep when you don't need it and then wake it on demand using the Wake-on-LAN feature built into network adapters.

time-read
5 mins  |
#285/August 2024: Kernel Exploits
Time Travel
Linux Magazine

Time Travel

Mike Schilli uses a Go program to check whether a strategy for trading stocks is making gains or losses on the basis of historical price data.

time-read
8 mins  |
#285/August 2024: Kernel Exploits
URL filtering with Pi-hole Into the Funnel
Linux Magazine

URL filtering with Pi-hole Into the Funnel

Supporting browser plug-ins, network-based DNS blockers like Pi-hole help protect you against online tracking and unwanted content.

time-read
10+ mins  |
#274/August 2023: The Best of Small Distros
Artificial intelligence on the Raspberry Pi Learning Experience
Linux Magazine

Artificial intelligence on the Raspberry Pi Learning Experience

You don't need a powerful computer system to use Al. We show what it takes to benefit from Al on the Raspberry Pi and what tasks the small computer can handle.

time-read
7 mins  |
#274/August 2023: The Best of Small Distros
MakerSpace Manage your greenhouse with a Raspberry Pi Pico W Sheltered Growth
Linux Magazine

MakerSpace Manage your greenhouse with a Raspberry Pi Pico W Sheltered Growth

You can safely assign some greenhouse tasks to a Raspberry Pi Pico W, such as controlling ventilation, automating a heater, and opening and closing windows.

time-read
7 mins  |
#274/August 2023: The Best of Small Distros