jcp-energy: compare two threads' energy within one span, so host load no longer decides the test #179
Loading…
Reference in a new issue
No description provided.
Delete branch "ci/energy-tests-load-independent"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
jcp-energy's
two_threads_burning_meter_more_than_oneno longer depends on host load. It failed intermittently on the shared macOS runner, and with it the "macOS energy backends" check.Cause. The test measured one thread in one span and two threads in a second span, then compared the figures. Energy per CPU-second depends on which cores and clock each span gets, so under load the two-thread span could read lower than the one-thread span (0.59 J against 0.92 J).
Fix (test only). Both threads burn within one span. A per-thread oracle reads each thread's own energy count across its burn. The span's figure must be at least the two counts added together, and more than either one alone. That bound is stronger than the old cross-span comparison.
Evidence.
Scope. This pull request no longer changes any probe's tick. The tick floor in proof-cascade, sandbox-meter, eoc-meter and jouleclaw-energy is handled by the pull request that keeps each tick's wall cap and asserts that the tick spun. jcp-energy's
liveness::burnhas the same shape and can follow that approach.🤖 Generated with Claude Code
6205b38f) into ci/energy-tests-load-independent 4b1a480883ab9650d5) into ci/energy-tests-load-independentenergy probes and tests: a tick burns its whole thread-CPU budget, so host load no longer decides themto jcp-energy: compare two threads' energy within one span, so host load no longer decides the test