Automated performance tracking

Benchmark results

Every push to main compiles the firmware with PlatformIO and builds the website on the four processor families GitHub Actions offers: Intel x64 Linux, ARM64 Linux, Intel x64 Windows and Apple Silicon macOS. The numbers below come from those real runs and refresh automatically on each commit and push.

Last refreshed: 10 Sept 2026, 10:26

19 Total runs recorded
4 Processor families
16 Firmware compiles
3 Website builds
1.5 Slowest build (s or min)

Latest firmware build per runner

Wall-clock compile time plus flash and RAM usage of the ESP32 firmware, measured on each processor family. Relative speed is computed against the slowest runner of this run, which is shown as 1.00x.

Windows X64 1.5 min

AMD EPYC 7763 64-Core Processor 4 cores

1.00x vs Windows X64 baseline
Flash
81.9% (1.02 MB of 1.25 MB)
RAM
16.2% (51.9 KB of 320.0 KB)
History
4 runs, best 1.3 min, median 1.5 min
Commit
dcd0017
PlatformIO
version 6.2.0
Build time trend for Windows X64
macOS ARM64 56.4 s

Apple M1 (Virtual) 3 cores

1.60x vs Windows X64 baseline
Flash
81.8% (1.02 MB of 1.25 MB)
RAM
16.2% (51.9 KB of 320.0 KB)
History
4 runs, best 39.3 s, median 56.4 s
Commit
dcd0017
PlatformIO
version 6.2.0
Build time trend for macOS ARM64
Linux X64 51.6 s

AMD EPYC 7763 64-Core Processor 4 cores

1.75x vs Windows X64 baseline
Flash
81.8% (1.02 MB of 1.25 MB)
RAM
16.2% (51.9 KB of 320.0 KB)
History
4 runs, best 45.8 s, median 51.6 s
Commit
dcd0017
PlatformIO
version 6.2.0
Build time trend for Linux X64
Linux ARM64 39.8 s

ARM64 virtual CPU 4 cores

2.27x vs Windows X64 baseline
Flash
81.8% (1.02 MB of 1.25 MB)
RAM
16.2% (51.9 KB of 320.0 KB)
History
4 runs, best 36.8 s, median 39.9 s
Commit
dcd0017
PlatformIO
version 6.2.0
Build time trend for Linux ARM64

Website build

Full static build of the Astro site, timed on the Linux x64 runner. 3 builds recorded.

Linux X64 15.0 s

AMD EPYC 7763 64-Core Processor 4 cores

Pages built
454
History
3 runs
Commit
dcd0017

Full history

Every recorded run. Flash and RAM figures are deterministic for a given commit; build times vary with runner load, so compare them only within the same runner.

Date Commit Kind Runner CPU Cores Build time Flash RAM / Pages
10 Sept 2026, 09:49 dcd0017 firmware Windows X64 AMD EPYC 7763 64-Core Processor 4 1.5 min 81.9% 16.2%
10 Sept 2026, 09:48 dcd0017 firmware macOS ARM64 Apple M1 (Virtual) 3 56.4 s 81.8% 16.2%
10 Sept 2026, 09:48 dcd0017 firmware Linux X64 AMD EPYC 7763 64-Core Processor 4 51.6 s 81.8% 16.2%
10 Sept 2026, 09:48 dcd0017 firmware Linux ARM64 ARM64 virtual CPU 4 39.8 s 81.8% 16.2%
10 Sept 2026, 09:47 dcd0017 website Linux X64 AMD EPYC 7763 64-Core Processor 4 15.0 s n/a 454 pages
06 Sept 2026, 18:39 7d7c3ec firmware Windows X64 AMD EPYC 7763 64-Core Processor 4 1.3 min 81.9% 16.2%
06 Sept 2026, 18:38 7d7c3ec firmware macOS ARM64 Apple M1 (Virtual) 3 39.8 s 81.8% 16.2%
06 Sept 2026, 18:38 7d7c3ec firmware Linux X64 AMD EPYC 9V74 80-Core Processor 4 45.8 s 81.8% 16.2%
06 Sept 2026, 18:37 7d7c3ec firmware Linux ARM64 ARM64 virtual CPU 4 36.8 s 81.8% 16.2%
06 Sept 2026, 18:37 7d7c3ec website Linux X64 AMD EPYC 7763 64-Core Processor 4 13.9 s n/a 446 pages
06 Sept 2026, 17:30 c2557aa firmware Windows X64 Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz 4 1.3 min 81.9% 16.2%
06 Sept 2026, 17:29 c2557aa firmware Linux X64 AMD EPYC 7763 64-Core Processor 4 50.5 s 81.8% 16.2%
06 Sept 2026, 17:29 c2557aa firmware Linux ARM64 ARM64 virtual CPU 4 39.9 s 81.8% 16.2%
06 Sept 2026, 17:29 c2557aa firmware macOS ARM64 Apple M1 (Virtual) 3 39.3 s 81.9% 16.2%
06 Sept 2026, 17:29 c2557aa website Linux X64 AMD EPYC 9V74 80-Core Processor 4 12.5 s n/a 446 pages
06 Sept 2026, 17:26 71b5bfa firmware Windows X64 AMD EPYC 7763 64-Core Processor 4 2.8 min 81.9% 16.2%
06 Sept 2026, 17:24 71b5bfa firmware Linux X64 AMD EPYC 7763 64-Core Processor 4 1.3 min 81.8% 16.2%
06 Sept 2026, 17:24 71b5bfa firmware macOS ARM64 Apple M1 (Virtual) 3 1.2 min 81.9% 16.2%
06 Sept 2026, 17:24 71b5bfa firmware Linux ARM64 ARM64 virtual CPU 4 1.0 min 81.8% 16.2%

Methodology: every push to main runs the Benchmarks workflow (benchmarks.yml), which compiles the firmware and builds the site on the four runner families. Results are merged, deduplicated and recorded with the workflow run id, then published to this page. The full procedure is documented in the benchmark methodology wiki page.