ThermalFlow
Benchmarks on a schedule and flags the day your machine got slower.
Free right now — no account, no card
Preview
1 interface design, then a screenshot of it running. Drag, scroll or use the arrows.
Free while we’re in preview
Get ThermalFlow
Benchmarks on a schedule and flags the day your machine got slower.
The Mac button is for Apple Silicon. On an older Intel Mac, get this one instead.
One file, both ways. Double-click it for the window. Run the same file from a command prompt with arguments and it behaves as the command-line tool, because the engine is inside it. Nothing else to download and nothing to keep beside it.
Early preview. The window has been built and run, but not yet on a real Windows PC or Mac, so expect rough edges. The engine underneath it is fully tested.
- One file — no installer
- Runs on your machine, offline
- Source code published below
Free while in preview. It isn’t signed yet, so Windows or macOS will ask you to confirm the first time you open it. At launch, ThermalFlow is included in every plan along with the rest of the range.
One score on its own is nearly useless
3.2 million ops per second. Good? You have no idea, unless you know what this machine managed last month. ThermalFlow appends every run to a JSON-lines history file and grades each new one against the machine’s own past. More than 10% slower than the comparison point is REGRESSION, more than 10% faster is IMPROVEMENT, anything between is STABLE. 10% sits comfortably above the few percent of jitter a real benchmark shows run to run.
Two comparisons, deliberately different
run compares against the immediately previous run, which catches something that broke yesterday. trend compares the most recent run against the average of every prior run in the full history, which catches the slow drift no single pair would ever show. Both report the percent change in single-thread and multi-thread throughput, plus the scaling factor between them.
If you’d rather not go near cron or Task Scheduler, thermalflow watch --interval 1h schedules itself.
Despite the name, no temperatures
This measures CPU throughput and only CPU throughput. Real temperatures, fan curves and affinity control need privileged vendor APIs a portable Go binary can’t reach, so they’re on the roadmap rather than faked. A flagged regression tells you the machine slowed down. Finding out why is still your job.
Reading on the job itself
- Is my computer actually getting slower? Time the same thing thirty times and keep the median, not the average. One slow run is noise; a median that...
Advanced & technical details Command-line builds, source code, checksums and a recorded session — for developers and IT teams
A working CLI prototype of the trend-history engine: the same CPU benchmark as the sibling CorePilot, but every run is appended to a persistent log with automatic regression/improvement detection against prior runs and the historical average. Real temperatures, fan curves, and CPU affinity control need OS-privileged hardware APIs and are on the roadmap.
Naming status
Working name only — brand verdict **RENAME** (High). Collision: ThermalFlow / Thermoflow. Rename before launch.
What it draws on
Existing paid software whose best ideas shaped this program: Process Lasso Pro, AIDA64 Extreme, HWiNFO Pro, Argus Monitor.
Command line
There is nothing extra to install. The program you download is the command-line tool as well: give it arguments instead of double-clicking it and it runs as one, with its output on your terminal. The standalone builds below are the same engine on its own, for machines where you would rather not ship a window at all.
ThermalFlow - persistent CPU benchmark trend history + regression detection
Usage:
thermalflow run --history FILE [--duration 500ms] [--json]
thermalflow trend --history FILE [--last N] [--json]
thermalflow watch --history FILE --interval 1h [--duration 500ms] [--once] [--json]
Commands:
run Run one CPU benchmark round, append the result to the history
file (creating it if needed), and compare it against the
immediately PREVIOUS run in that history (if any).
trend Read-only. Print a table of past runs plus min/max/average
ops/sec across the shown window, and compare the most recent
run against the AVERAGE of all prior runs in the full history.
watch Convenience wrapper: calls the same logic as "run" repeatedly,
sleeping --interval between rounds. For users who want
ThermalFlow to schedule itself instead of being invoked
externally by cron / Task Scheduler.
Flags:
--history FILE Path to the JSON-lines history file (required for all
three commands). One JSON object per line, append-only.
--duration dur How long to run each benchmark phase (single-thread,
then multi-thread) for "run" and "watch". Go duration
syntax, e.g. 500ms, 2s, 1m. (default 500ms)
--interval dur How long "watch" sleeps between rounds. (default 1h)
--once "watch" only: run a single round then exit, instead of
looping forever. Equivalent to "run", kept for
consistency/testing with the other polling-style tools
in this suite.
--last N "trend" only: show only the N most recent runs. 0 (the
default) or a value >= the number of runs shows all of
them. Min/max/average stats are computed over the shown
window; the most-recent-vs-average comparison always
uses the FULL history, not just the shown window.
--json Emit structured JSON instead of a text report.
-h, --help Show this help.
Regression threshold: a run's ops/sec more than 10%% slower than the
comparison baseline is flagged REGRESSION, more than 10%% faster is
...
Recorded from the shipped binary, not written by hand.
Source
Every file the program is built from:
console.go · console_test.go · guided.go · main.go
SHA-256 checksums · build instructions & scope notes · full build plan