Files
ngit-grasp/.ngit
DanConwayDev 484b58664a ci: select four CPUs for the measured Rust workload
Keep compilation, lint and tests in one job and require at least four
vCPUs. Controlled production runs on de1 used the same source revision
(ed0ed6fd), 8 GiB RAM, 32 GiB scratch and cached third-party Rust objects.
The sequence was two CPUs, four CPUs, two CPUs again, then one CPU.

Step seconds (two CPU runs / four CPUs / one CPU):
  compile: 125.48-145.90 / 81.98 / 248.89
  lint:     61.58-63.19 / 42.89 / 121.97
  tests:  503.73-506.24 / 331.55 / 946.21
Whole-guest elapsed time fell from 827.85-839.34s to 570.90s with four
CPUs. Compilation benefits proportionally as much as tests; splitting
it into a smaller guest would slow it and add setup/output transfer.

This favors latency, not maximum CPU-slot throughput: four CPUs reserve
about 37% more CPU-seconds across the whole job, while measured consumed
CPU time rises from 714.17-723.93s to 778.79s. Current production admission
is also constrained by scratch reservations. More CPUs are not a promise
of more simultaneous jobs; remeasure if that bottleneck changes.

Keep the measured 4 GiB RAM floor. Whole-guest observed peaks were
2804.4-2839.3 MiB at two CPUs and 2960.1 MiB at four. Earlier two-CPU
runs peaked at 2717.7-2868.4 MiB, and an actual 4 GiB guest at f1c867e1
passed at 2656.4 MiB. The four-CPU measurements used 8 GiB guests, so the
4 GiB minimum includes headroom but is not an exact-cap validation for
four CPUs. Sampling includes the guest OS; all runs had swap disabled
and zero OOM kills. No five-CPU measurement was made.

Validation: all four controlled runs succeeded and the native workflow
parser accepts the new requirement. Other jobs and commands are unchanged.
Production evidence (four CPUs, including usage header):
https://blossom.primal.net/f50ae89366d38e7d0c113cad626a2f8da17010f3e60e43fa778f000dd01157f0.txt

Assisted-by: GPT-6
2026-10-18 14:36:08 +00:00
..