github fcorbelli/zpaqfranz 61.3
Windows 32 (XP)/64 binaries, 64 bit-HW accelerated

latest releases: 64.5, 64.4, 64.3...
10 months ago

Reducing power consumption

In order to reduce energy consumption, I have implemented new switches and functions.

The switches (which can be used in the a or add commands) are:

  • -slow
  • -shutdown
  • -monitor (Windows only)

Example command:

zpaqfranz a z:\1.zpaq c:\pippo -slow -monitor -shutdown

-slow

The -slow switch attempts to disable the TurboBoost feature on modern CPUs, limiting their maximum frequency and, as a result, reducing energy consumption.

In certain circumstances, when the most relevant phase is deduplication rather than compression, the operating system might activate the CPU's maximum power consumption mode (e.g., calculating SHA1 for file fragments) in a situation where it is essentially unnecessary.

In these cases, -slow can reduce power consumption by up to 30% (at least on modern AMD CPUs; I haven't tested Intel CPUs), with essentially no slowdown in total execution time (or at most, a slight percentage decrease). It also reduces noise on systems with variable power cooling (fans, pumps, etc.).

The method is "fairly" reliable on Windows, while on non-Windows systems, it "might" work on Linux. Interacting with hardware is complex, so I cannot guarantee anything.

-monitor (only on Windows)

The -monitor switch puts the Windows monitor into standby mode (Note: I have not tested multi-monitor systems yet, but I will in the future). This reduces electricity consumption, especially for long sessions (hours) when the computer is not in use.

For non-Windows systems, it’s a nightmare due to the various versions of X, non-X systems, consoles, and so on. It's too complicated, and I don't think I will tackle it.

-shutdown

The -shutdown switch attempts to "mercilessly" shut down the system after completing an a (add) command, which is used to add data.

For non-Windows systems, I had to come up with heuristic methods to find, or not find, sudo. For some reason, sudo is widely used but not everywhere.

On Windows machines, it might not always be able to "kill" all running processes. I did my best, but as always, nothing is easy on Windows.

These functions can also be invoked manually with advanced work commands.

"Merciless" shutdown

zpaqfranz work shutdown

Activate "turbo" mode from command

zpaqfranz work big turbo

Deactivate "turbo" mode from command

zpaqfranz work big noturbo

Windows: Turn off monitor (low power mode)

zpaqfranz work monitoroff

Windows: Turn on monitor

zpaqfranz work monitoron

Upon request, I will also try to include a changelog

Download zpaqfranz

Don't miss a new zpaqfranz release

NewReleases is sending notifications on new releases.