Repeatable thermal benchmarks.
rethebes
is a command-line utility that runs a repeatable benchmark of the CPU temperature under user-configurable load conditions.
rethebes
has only been tested on Windows 10 and python 3.8.
It should also be compatible with more recent Windows and python versions.
Internally, rethebes
uses LibreHardwareMonitorLib
, which is not distributed with rethebes
and must be installed separately. To do so, you must:
- Download it from the Releases page on github.
- Add the directory where you have extracted
LibreHardwareMonitorLib.dll
to yourPYTHONPATH
environment variable in Windows.
Note that you also need some version of the .NET runtime, but that is commonly installed in Windows.
Then, you can install rethebes
from github via pip
or (recommended) pipx
:
pipx install git+https://github.com/giuliofoletto/rethebes
In an elevated terminal (required to access temperature sensors), run:
rethebes run <config-file>
where <config-file>
is the path of a configuration file.
See examples/README.md for a guide about configuration files, and pre-made examples.
Note that unless you specify otherwise in the configuration file, running rethebes
creates the folder ~/.rethebes
, which is not deleted by pipx
during if you uninstall rethebes
.
Assuming your configuration file instructed rethebes
to save the measurements results, you can visualize them with
rethebes analyze <output-file>
For convenience, if you place your configuration file in the default folder (~/.rethebes/config/
), you can invoke it via name only, without necessarily including the full path or the extension.
For instance
rethebes run short
will work if file ~/.rethebes/config/short.json
exists.
You can do the same for output files (in ~/.rethebes/output/
):
rethebes analyze foobar
will work if file ~/.rethebes/output/foobar.csv
exists.
The package that loads the CPU uses code by Gaetano Carlucci and Giuseppe Cofano (MIT licensed).
In addition to LibreHardwareMonitorLib
(MPL licensed), the code depends on other open source python packages that are downloaded automatically during installation.
See setup.py for the list.