SystemPulse
Times one command thirty times over and tells you when it gets 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 SystemPulse
Times one command thirty times over and tells you when it gets 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, SystemPulse is included in every plan along with the rest of the range.
Your command, not your CPU
A benchmark tells you the machine is fast. It won’t tell you your app’s startup went from 340ms to 390ms between two commits. SystemPulse runs one command many times, discards the warmups, and reports the whole distribution: min, median, p90, p95, p99 and standard deviation. Save that as a baseline, then have compare re-measure later and exit 2 when the median or p95 regressed past your threshold.
systempulse bench `--runs` 50 `--label` v1.4.0 `--save` base.json -- ./myapp `--version`
systempulse compare `--baseline` base.json `--runs` 50 `--threshold-pct` 8 -- ./myapp `--version`
Every percentile is a run that happened
Nearest rank, no interpolation. That is deliberately not numpy’s default, and the difference is a definition mismatch rather than a bug. The formula and the raw per-run nanoseconds go into every baseline file, in execution order, so you can recompute the arithmetic and check it.
Small print, and it matters
For any run count of 20 or fewer, p95 collapses onto the single worst run; the tool warns you when that happens. Failed runs are still timed and still counted, so a command that starts failing fast will look faster. --timeout defaults to off, meaning a hung command hangs SystemPulse. There’s no shell either, so wrap pipes in sh -c yourself.
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 latency profiler: it times a specific command across many runs and reports the whole distribution — min, median, p90/p95/p99, stddev — then compares against a saved baseline to catch regressions, with a per-run timeout so a hung command can't fabricate a result. Verified: sleep 0.2 and sleep 0.5 land where they should, and every statistic matches an independent recomputation exactly. It measures wall-clock time; per-process CPU and memory attribution are on the roadmap.
Naming status
Working name only — brand verdict **AVOID** (Very High). Collision: SystemPulse. Rename completely.
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.
systempulse 1.0.0 - command latency profiler (Techlosoft PC Performance Console)
USAGE
systempulse bench --runs N [--warmup N] [--label NAME] [--save FILE]
[--timeout DUR] [--json] -- <command> [args...]
systempulse compare --baseline FILE --runs N [--threshold-pct P]
[--warmup N] [--timeout DUR] [--json] -- <command> [args...]
systempulse show --baseline FILE [--json]
systempulse help | -h | --help
COMMANDS
bench Time <command> over N runs and report the full distribution.
compare Re-measure <command> now and diff it against a saved baseline.
Exits 2 when the regression exceeds --threshold-pct.
show Print a previously saved baseline.
FLAGS
--runs N Measured runs (default 30, must be >= 1).
--warmup N Discarded runs executed first (default 3).
--label NAME Free-text label stored in the baseline.
--save FILE Write the bench result as a baseline JSON file.
--baseline FILE Baseline JSON to read.
--threshold-pct P Regression threshold in percent (default 10).
--timeout DUR Per-run wall-clock limit, e.g. 2s, 500ms.
Default 0 = no limit (a hanging command hangs the tool).
--json Machine-readable output, including raw per-run samples.
EVERYTHING AFTER -- IS THE COMMAND UNDER TEST.
EXIT CODES
0 success / no regression
1 usage or runtime error
2 regression detected above threshold
METHOD
percentiles: nearest-rank: rank = ceil(p/100 * n) over ascending sorted samples, 1-based, clamped to [1,n] (IEEE-754 double arithmetic)
stddev : sample standard deviation (Bessel-corrected, divisor n-1); 0 when n < 2
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