@@ -8,144 +8,144 @@ Headline per-metric values at each share rate's best and worst cells. ↑ = high
88
99| Metric | Dir | Best | Worst |
1010| --- | :-: | --- | --- |
11- | cold-start convergence rate | ↑ | 99.3 % @ SPM=30 | 83.2 % @ SPM=6 |
12- | cold-start p90 time | ↓ | 15m @ SPM=25 | 21m @ SPM=6 |
13- | settled accuracy p50 (stable) | ↓ | 0.0 % @ SPM=10 (floor: 6.7 %) | 5.2 % @ SPM=6 (floor: 8.7%) |
14- | settled accuracy p99 (stable) | ↓ | 15.2 % @ SPM=25 (floor: 16.3 %) | 69.8 % @ SPM=6 (floor: 33.3%) |
15- | stable-load jitter (mean) | ↓ | 0.003 /min @ SPM=30 (floor: 0.020/min) | 0.059 /min @ SPM=6 (floor: 0.020/min) |
16- | reaction rate at −50% step | ↑ | 69.6 % @ SPM=6 | 29.7 % @ SPM=30 |
17- | reaction rate at +50% step | ↑ | 63.9 % @ SPM=6 | 32.9 % @ SPM=30 |
18- | ramp target overshoot p99 (cold start) | ↓ | 26.4 % @ SPM=30 (floor: 42.5%) | 145.2 % @ SPM=6 (floor: 95.0%) |
19- | operational fitness | ↑ | 0.396 @ SPM=6 | 0.331 @ SPM=20 |
20- | decoupling score | ↑ | 0.696 @ SPM=6 | 0.297 @ SPM=30 |
21- | max | reaction asymmetry| | ↓ | 0.011 @ SPM=15 | 0.073 @ SPM=8 |
11+ | cold-start convergence rate | ↑ | 100.0 % @ SPM=6 | 100.0 % @ SPM=6 |
12+ | cold-start p90 time | ↓ | 1m @ SPM=25 | 9m @ SPM=6 |
13+ | settled accuracy p50 (stable) | ↓ | 6.7 % @ SPM=30 (floor: 3.9 %) | 10.5 % @ SPM=6 (floor: 8.7%) |
14+ | settled accuracy p99 (stable) | ↓ | 13.9 % @ SPM=30 (floor: 14.9 %) | 32.6 % @ SPM=6 (floor: 33.3%) |
15+ | stable-load jitter (mean) | ↓ | 0.001 /min @ SPM=30 (floor: 0.020/min) | 0.108 /min @ SPM=6 (floor: 0.020/min) |
16+ | reaction rate at −50% step | ↑ | 99.8 % @ SPM=15 | 98.4 % @ SPM=6 |
17+ | reaction rate at +50% step | ↑ | 84.7 % @ SPM=12 | 79.0 % @ SPM=30 |
18+ | ramp target overshoot p99 (cold start) | ↓ | 0.0 % @ SPM=30 (floor: 42.5%) | 36.1 % @ SPM=6 (floor: 95.0%) |
19+ | operational fitness | ↑ | 0.849 @ SPM=30 | 0.681 @ SPM=8 |
20+ | decoupling score | ↑ | 0.998 @ SPM=15 | 0.777 @ SPM=6 |
21+ | max | reaction asymmetry| | ↓ | 0.151 @ SPM=8 | 0.733 @ SPM=30 |
2222
2323## Convergence time (cold start: 10 GH/s → 1 PH/s)
2424
2525| share/min | rate | p10 | p50 | p90 | p99 | mean |
2626| --- | --- | --- | --- | --- | --- | --- |
27- | 6 | 83.2 % | 10m | 12m | 21m | 25m | 14m05s |
28- | 8 | 90.6 % | 10m | 10m | 20m | 25m | 13m23s |
29- | 10 | 93.9 % | 10m | 10m | 20m | 25m | 12m58s |
30- | 12 | 94.3 % | 10m | 10m | 20m | 25m | 12m58s |
31- | 15 | 97.2 % | 10m | 10m | 19m | 25m | 12m22s |
32- | 20 | 98 .0% | 10m | 10m | 16m | 25m | 12m |
33- | 25 | 98.8 % | 10m | 10m | 15m | 24m | 11m34s |
34- | 30 | 99.3 % | 10m | 10m | 15m | 20m | 11m13s |
27+ | 6 | 100.0 % | 3m | 4m | 9m | 15m | 5m11s |
28+ | 8 | 100.0 % | 3m | 5m | 6m | 12m | 4m46s |
29+ | 10 | 100.0 % | 1m | 5m | 6m | 10m | 4m06s |
30+ | 12 | 100.0 % | 1m | 4m | 6m | 6m | 3m31s |
31+ | 15 | 100.0 % | 1m | 1m | 6m | 6m | 2m57s |
32+ | 20 | 100 .0% | 1m | 1m | 6m | 6m | 2m44s |
33+ | 25 | 100.0 % | 1m | 1m | 1m | 1m | 1m03s |
34+ | 30 | 100.0 % | 1m | 1m | 6m | 6m | 1m53s |
3535
3636## Settled accuracy (stable load, post-convergence)
3737
3838` |final_hashrate / true_hashrate - 1| ` at trial end. Smaller is better.
3939
4040| share/min | p10 | p50 | p90 | p99 | mean |
4141| --- | --- | --- | --- | --- | --- |
42- | 6 | 0.0 % | 5.2 % | 23.7% | 69.8 % | 9.7 % |
43- | 8 | 0 .0% | 1.8 % | 17.7 % | 44.1 % | 6.2 % |
44- | 10 | 0.0 % | 0.0 % | 15.3 % | 31.6 % | 4.4 % |
45- | 12 | 0.0 % | 0.0 % | 13.4 % | 25.0 % | 3.4 % |
46- | 15 | 0.0 % | 0.0 % | 8.9 % | 22.4 % | 2 .3% |
47- | 20 | 0.0% | 0.0 % | 5.0 % | 17.1 % | 1.4 % |
48- | 25 | 0.0% | 0 .0% | 1.8 % | 15.2 % | 0.8 % |
49- | 30 | 0.0% | 0.0 % | 2.2 % | 15.3 % | 0.8 % |
42+ | 6 | 1.7 % | 10.5 % | 23.7% | 32.6 % | 11.8 % |
43+ | 8 | 2 .0% | 9.1 % | 19.9 % | 28.6 % | 10.4 % |
44+ | 10 | 2.2 % | 9.4 % | 18.7 % | 23.7 % | 10.2 % |
45+ | 12 | 3.1 % | 8.9 % | 17.7 % | 23.5 % | 10.0 % |
46+ | 15 | 4.6 % | 8.4 % | 16.8 % | 21.3 % | 9 .3% |
47+ | 20 | 0.0% | 7.7 % | 11.6 % | 18.7 % | 7.5 % |
48+ | 25 | 0.0% | 7 .0% | 10.6 % | 17.3 % | 6.3 % |
49+ | 30 | 0.0% | 6.7 % | 10.3 % | 13.9 % | 5.4 % |
5050
5151## Steady-state jitter (fires per minute)
5252
5353Post-convergence rate of vardiff fires. Smaller is better — ideal is zero under stable load.
5454
5555| share/min | p10 | p50 | p90 | p99 | mean |
5656| --- | --- | --- | --- | --- | --- |
57- | 6 | 0.000 | 0.000 | 0.200 | 0.391 | 0.059 |
58- | 8 | 0.000 | 0.000 | 0.143 | 0.318 | 0.037 |
59- | 10 | 0.000 | 0.000 | 0.091 | 0.273 | 0.025 |
60- | 12 | 0.000 | 0.000 | 0.056 | 0.217 | 0.015 |
61- | 15 | 0.000 | 0.000 | 0.043 | 0.133 | 0.009 |
62- | 20 | 0.000 | 0.000 | 0.000 | 0.095 | 0.004 |
63- | 25 | 0.000 | 0.000 | 0.000 | 0.071 | 0.003 |
64- | 30 | 0.000 | 0.000 | 0.000 | 0.056 | 0.003 |
57+ | 6 | 0.059 | 0.105 | 0.158 | 0.200 | 0.108 |
58+ | 8 | 0.043 | 0.083 | 0.133 | 0.176 | 0.084 |
59+ | 10 | 0.000 | 0.062 | 0.105 | 0.154 | 0.063 |
60+ | 12 | 0.000 | 0.050 | 0.091 | 0.136 | 0.045 |
61+ | 15 | 0.000 | 0.000 | 0.077 | 0.105 | 0.026 |
62+ | 20 | 0.000 | 0.000 | 0.048 | 0.083 | 0.008 |
63+ | 25 | 0.000 | 0.000 | 0.000 | 0.067 | 0.002 |
64+ | 30 | 0.000 | 0.000 | 0.000 | 0.000 | 0.001 |
6565
6666## Reaction time to a 50% drop (step at 15 min)
6767
6868| share/min | reacted | p10 | p50 | p90 | p99 | mean |
6969| --- | --- | --- | --- | --- | --- | --- |
70- | 6 | 69.6 % | 1m | 3m | 5m | 5m | 2m38s |
71- | 8 | 62.9 % | 1m | 3m | 5m | 5m | 2m40s |
72- | 10 | 59.8 % | 1m | 3m | 5m | 5m | 2m55s |
73- | 12 | 52.3 % | 1m | 3m | 5m | 5m | 2m57s |
74- | 15 | 45.1 % | 1m | 3m | 5m | 5m | 3m13s |
75- | 20 | 39.3 % | 2m | 4m | 5m | 5m | 3m31s |
76- | 25 | 33.8 % | 1m | 4m | 5m | 5m | 3m32s |
77- | 30 | 29.7 % | 2m | 4m | 5m | 5m | 3m46s |
70+ | 6 | 98.4 % | 1m | 2m | 4m | 5m | 2m10s |
71+ | 8 | 98.7 % | 1m | 2m | 4m | 5m | 2m05s |
72+ | 10 | 99.0 % | 1m | 2m | 3m | 5m | 2m03s |
73+ | 12 | 99.0 % | 1m | 2m | 3m | 5m | 1m58s |
74+ | 15 | 99.8 % | 1m | 2m | 3m | 5m | 2m02s |
75+ | 20 | 99.4 % | 1m | 2m | 3m | 5m | 1m51s |
76+ | 25 | 99.7 % | 1m | 1m | 4m | 5m | 1m44s |
77+ | 30 | 99.6 % | 1m | 1m | 3m | 5m | 1m35s |
7878
7979## Reaction sensitivity (P[ fire within 5 min of step change] )
8080
8181| Δ% | 6 | 8 | 10 | 12 | 15 | 20 | 25 | 30 |
8282| --- | --- | --- | --- | --- | --- | --- | --- | --- |
83- | -50% | 0.70 | 0.63 | 0.60 | 0.52 | 0.45 | 0.39 | 0.34 | 0.30 |
84- | -25% | 0.44 | 0.37 | 0.28 | 0.24 | 0.18 | 0.10 | 0.07 | 0.07 |
85- | -10% | 0.38 | 0.27 | 0.21 | 0.15 | 0.10 | 0.04 | 0.03 | 0.02 |
86- | -5% | 0.40 | 0.32 | 0.21 | 0.15 | 0.10 | 0.06 | 0.03 | 0.01 |
87- | +5% | 0.39 | 0.29 | 0.20 | 0.15 | 0.11 | 0.05 | 0.04 | 0.02 |
88- | +10% | 0.42 | 0.29 | 0.21 | 0.15 | 0.11 | 0.07 | 0.04 | 0.02 |
89- | +25% | 0.48 | 0.35 | 0.32 | 0.23 | 0.18 | 0.12 | 0.09 | 0.08 |
90- | +50% | 0.64 | 0.56 | 0.54 | 0.50 | 0.45 | 0.36 | 0.34 | 0.33 |
83+ | -50% | 0.98 | 0.99 | 0.99 | 0.99 | 1.00 | 0.99 | 1.00 | 1.00 |
84+ | -25% | 0.80 | 0.78 | 0.78 | 0.76 | 0.74 | 0.77 | 0.84 | 0.85 |
85+ | -10% | 0.65 | 0.56 | 0.48 | 0.44 | 0.43 | 0.47 | 0.52 | 0.50 |
86+ | -5% | 0.58 | 0.51 | 0.39 | 0.34 | 0.36 | 0.33 | 0.35 | 0.33 |
87+ | +5% | 0.57 | 0.46 | 0.38 | 0.31 | 0.19 | 0.17 | 0.11 | 0.11 |
88+ | +10% | 0.60 | 0.47 | 0.42 | 0.33 | 0.20 | 0.11 | 0.07 | 0.04 |
89+ | +25% | 0.67 | 0.63 | 0.58 | 0.49 | 0.41 | 0.27 | 0.18 | 0.12 |
90+ | +50% | 0.82 | 0.84 | 0.84 | 0.85 | 0.82 | 0.80 | 0.80 | 0.79 |
9191
9292## Ramp target overshoot (cold start)
9393
9494` max(new_hashrate on fires) / H_true − 1 ` : how far the algorithm's actual * target* (not its belief) climbs past truth during the cold-start ramp. Reads ` new_hashrate ` (the actual target the algorithm set), so it's unaffected by estimator-belief noise. Works for any algorithm that fires, including those without introspection.
9595
9696| share/min | p10 | p50 | p90 | p99 | mean |
9797| --- | --- | --- | --- | --- | --- |
98- | 6 | 0.0% | 24.7 % | 80.4 % | 145.2 % | 33.9 % |
99- | 8 | 0.0% | 16.3 % | 62 .1% | 101.8 % | 24.1 % |
100- | 10 | 0.0% | 11.8 % | 47.6 % | 97.0 % | 17.8 % |
101- | 12 | 0.0% | 9.9 % | 33.4 % | 72.9 % | 14.6 % |
102- | 15 | 0.0% | 6.3 % | 26 .0% | 75.0 % | 11.1 % |
103- | 20 | 0.0% | 5.3 % | 19.9 % | 56.0 % | 8.4 % |
104- | 25 | 0.0% | 3.1 % | 15.6 % | 33.7 % | 5.9 % |
105- | 30 | 0.0% | 3 .0% | 13.5 % | 26.4 % | 5 .0% |
98+ | 6 | 0.0% | 4.0 % | 19.5 % | 36.1 % | 7.1 % |
99+ | 8 | 0.0% | 0.0 % | 13 .1% | 26.5 % | 3.9 % |
100+ | 10 | 0.0% | 0.0 % | 8.1 % | 18.4 % | 2.2 % |
101+ | 12 | 0.0% | 0.0 % | 7.7 % | 16.6 % | 2.0 % |
102+ | 15 | 0.0% | 0.0 % | 4 .0% | 14.1 % | 1.0 % |
103+ | 20 | 0.0% | 0.0 % | 0.0 % | 5.8 % | 0.2 % |
104+ | 25 | 0.0% | 0.0 % | 0.5 % | 5.8 % | 0.3 % |
105+ | 30 | 0.0% | 0 .0% | 0.0 % | 0.0 % | 0 .0% |
106106
107107## Operational fitness (per share rate)
108108
109109` 0.25×react(-10%) + 0.2×react(-50%) + 0.2×(1-jitter/0.3) + 0.25×(conv_rate×conv_speed) + 0.1×(1-overshoot) ` . Higher is better.
110110
111111| share/min | fitness | react-10% | react-50% | jitter | conv | overshoot |
112112| --- | --- | --- | --- | --- | --- | --- |
113- | 6 | 0.396 | 0.383 | 0.696 | 0.803 | 0.000 | 0.000 |
114- | 8 | 0.369 | 0.270 | 0.629 | 0.877 | 0.000 | 0.000 |
115- | 10 | 0.359 | 0.212 | 0.598 | 0.915 | 0.000 | 0.030 |
116- | 12 | 0.359 | 0.148 | 0.523 | 0.949 | 0.000 | 0.271 |
117- | 15 | 0.334 | 0.099 | 0.451 | 0.970 | 0.000 | 0.250 |
118- | 20 | 0.331 | 0.044 | 0.393 | 0.986 | 0.000 | 0.440 |
119- | 25 | 0.340 | 0.033 | 0.338 | 0.990 | 0.000 | 0.663 |
120- | 30 | 0.336 | 0.020 | 0.297 | 0.991 | 0.000 | 0.736 |
113+ | 6 | 0.701 | 0.647 | 0.984 | 0.642 | 0.600 | 0.639 |
114+ | 8 | 0.681 | 0.563 | 0.987 | 0.721 | 0.500 | 0.735 |
115+ | 10 | 0.682 | 0.476 | 0.990 | 0.790 | 0.500 | 0.816 |
116+ | 12 | 0.712 | 0.443 | 0.990 | 0.851 | 0.600 | 0.834 |
117+ | 15 | 0.800 | 0.428 | 0.998 | 0.912 | 0.900 | 0.859 |
118+ | 20 | 0.831 | 0.474 | 0.994 | 0.974 | 0.900 | 0.942 |
119+ | 25 | 0.848 | 0.523 | 0.997 | 0.993 | 0.900 | 0.942 |
120+ | 30 | 0.849 | 0.500 | 0.996 | 0.998 | 0.900 | 1.000 |
121121
122122## Decoupling score (per share rate)
123123
124124` reaction_rate(Step−50) × clamp(1 − jitter_p50 / J_max, 0, 1) ` where ` J_max = 0.50 ` fires/min. Higher is better. Score of 1.0 = perfect decoupling between reactivity and jitter.
125125
126126| share/min | decoupling score |
127127| --- | --- |
128- | 6 | 0.696 |
129- | 8 | 0.629 |
130- | 10 | 0.598 |
131- | 12 | 0.523 |
132- | 15 | 0.451 |
133- | 20 | 0.393 |
134- | 25 | 0.338 |
135- | 30 | 0.297 |
128+ | 6 | 0.777 |
129+ | 8 | 0.823 |
130+ | 10 | 0.866 |
131+ | 12 | 0.891 |
132+ | 15 | 0.998 |
133+ | 20 | 0.994 |
134+ | 25 | 0.997 |
135+ | 30 | 0.996 |
136136
137137## Reaction asymmetry (per share rate)
138138
139139` reaction_rate(+δ%) − reaction_rate(−δ%) ` . Positive = responds faster to up-steps; negative = responds faster to down-steps; near zero = symmetric.
140140
141141| share/min | δ=5% | δ=10% | δ=25% | δ=50% |
142142| --- | --- | --- | --- | --- |
143- | 6 | -0.01 | + 0.04 | +0.03 | -0.06 |
144- | 8 | -0.03 | +0.02 | -0.01 | -0.07 |
145- | 10 | -0.01 | -0.00 | +0.04 | -0.06 |
146- | 12 | -0.00 | +0.01 | -0.01 | -0.03 |
147- | 15 | +0.01 | +0.01 | +0.00 | -0.01 |
148- | 20 | -0.01 | +0.03 | +0.01 | -0.03 |
149- | 25 | +0.01 | +0.01 | +0.02 | +0.00 |
150- | 30 | +0.01 | -0.00 | +0.01 | +0.03 |
143+ | 6 | -0.01 | - 0.04 | -0.13 | -0.16 |
144+ | 8 | -0.04 | -0.09 | -0.14 | -0.15 |
145+ | 10 | -0.01 | -0.05 | -0.20 | -0.15 |
146+ | 12 | -0.03 | -0.11 | -0.27 | -0.14 |
147+ | 15 | -0.17 | -0.23 | -0.33 | -0.18 |
148+ | 20 | -0.16 | -0.36 | -0.50 | -0.20 |
149+ | 25 | -0.24 | -0.45 | -0.66 | -0.19 |
150+ | 30 | -0.22 | -0.46 | -0.73 | -0.21 |
151151
0 commit comments