=======================================================
BLOCK-STM END-TO-END BLOCK-PRODUCTION THROUGHPUT
  machine threads available : 16
  txns per batch            : 20000
  simulated EVM cost per tx : 200 keccak-rounds
  timing                    : median of 5 runs (ms)
  pipeline                  : exec (parallel) + commit (serial) + state-root (serial)
  serial-equivalence        : par state == seq state AND keccak roots identical, EVERY run
=======================================================

### 0% designed conflict (disjoint accounts, 64 contracts spread)
  committed state keys      : 49637
  sequential  exec 1724.47 ms | root 9.46 ms | END-TO-END 1733.93 ms | root-share 0.5%
  sequential  end-to-end TPS: 11535
  W    |     exec   commit    root    e2e_ms |   execSpd    e2eSpd |     TPS  abort% |  root%e2e |  equiv
  1    |  1732.47     8.95    9.31   1750.73 |     1.00x     0.99x |   11424    0.0% |      1.0% |   PASS
  2    |   872.83     9.82   10.15    892.80 |     1.98x     1.94x |   22402    0.0% |      2.2% |   PASS
  4    |   443.14     8.61    8.70    460.44 |     3.89x     3.77x |   43436    0.1% |      3.8% |   PASS
  8    |   224.20     9.49   10.65    244.34 |     7.69x     7.10x |   81854    0.2% |      8.2% |   PASS
  16   |   127.82     8.57    8.52    144.91 |    13.49x    11.97x |  138021    0.3% |     11.8% |   PASS
  Amdahl: serial tail (commit+root) = 17.72 ms; end-to-end speedup ceiling @16w = 11.54x, @infinite cores = 97.86x

### 10% designed conflict (100 hot accts, 16 contracts)
  committed state keys      : 18342
  sequential  exec 1660.34 ms | root 3.02 ms | END-TO-END 1663.36 ms | root-share 0.2%
  sequential  end-to-end TPS: 12024
  W    |     exec   commit    root    e2e_ms |   execSpd    e2eSpd |     TPS  abort% |  root%e2e |  equiv
  1    |  1763.89     4.87    4.27   1773.02 |     0.94x     0.94x |   11280    0.0% |      0.5% |   PASS
  2    |   867.29     4.93    3.98    876.21 |     1.91x     1.90x |   22826    0.1% |      1.0% |   PASS
  4    |   428.26     5.18    4.03    437.47 |     3.88x     3.80x |   45717    0.3% |      2.1% |   PASS
  8    |   218.20     5.32    3.80    227.31 |     7.61x     7.32x |   87986    0.7% |      4.0% |   PASS
  16   |   131.28     5.16    3.23    139.68 |    12.65x    11.91x |  143189    1.3% |      6.0% |   PASS
  Amdahl: serial tail (commit+root) = 8.43 ms; end-to-end speedup ceiling @16w = 12.04x, @infinite cores = 197.38x

### 50% designed conflict (20 hot accts, 4 contracts)
  committed state keys      : 9006
  sequential  exec 1663.44 ms | root 1.41 ms | END-TO-END 1664.84 ms | root-share 0.1%
  sequential  end-to-end TPS: 12013
  W    |     exec   commit    root    e2e_ms |   execSpd    e2eSpd |     TPS  abort% |  root%e2e |  equiv
  1    |  1696.76     2.52    1.54   1700.82 |     0.98x     0.98x |   11759    0.0% |      0.2% |   PASS
  2    |   872.94     2.49    1.74    877.18 |     1.91x     1.90x |   22800    2.2% |      0.5% |   PASS
  4    |   460.75     2.57    1.59    464.91 |     3.61x     3.58x |   43019    5.8% |      0.9% |   PASS
  8    |   256.91     2.32    1.57    260.79 |     6.47x     6.38x |   76690   11.1% |      1.5% |   PASS
  16   |   170.84     1.96    1.48    174.29 |     9.74x     9.55x |  114753   18.2% |      2.0% |   PASS
  Amdahl: serial tail (commit+root) = 3.51 ms; end-to-end speedup ceiling @16w = 9.21x, @infinite cores = 474.53x

### PATHOLOGICAL ~100% (single hot slot, no parallelism)
  committed state keys      : 1996
  sequential  exec 1624.41 ms | root 0.29 ms | END-TO-END 1624.71 ms | root-share 0.0%
  sequential  end-to-end TPS: 12310
  W    |     exec   commit    root    e2e_ms |   execSpd    e2eSpd |     TPS  abort% |  root%e2e |  equiv
  1    |  1670.23     0.06    0.38   1670.67 |     0.97x     0.97x |   11971    0.0% |      0.0% |   PASS
  2    |   896.96     0.05    0.37    897.37 |     1.81x     1.81x |   22287    6.6% |      0.0% |   PASS
  4    |   503.18     0.05    0.68    503.91 |     3.23x     3.22x |   39689   14.5% |      0.1% |   PASS
  8    |   311.47     0.07    0.57    312.11 |     5.22x     5.21x |   64081   21.3% |      0.2% |   PASS
  16   |   294.20     0.04    0.36    294.60 |     5.52x     5.51x |   67888   24.1% |      0.1% |   PASS
  Amdahl: serial tail (commit+root) = 0.38 ms; end-to-end speedup ceiling @16w = 5.93x, @infinite cores = 4288.05x

=======================================================
SERIAL-EQUIVALENCE: 100 checks, 0 mismatches
  RESULT: PASS -- every parallel run committed the exact sequential state + root
=======================================================

HONEST READING:
  - execSpd is the EXECUTION-PHASE speedup (comparable to the documented ~9.4x).
  - e2eSpd is the END-TO-END block-production speedup. It is LOWER, because the
    commit (state materialization) and state-root (keccak) phases are serial and
    do not shrink with more workers -- the Amdahl serial tail.
  - TPS is the real end-to-end transactions/second of THIS pipeline on THIS box
    (shared-vCPU cloud). It is a measured rollup-batch number, NOT the 273k TPS
    documented-conditions marketing ceiling and does not reach or imply it.
  - Under total conflict (pathological) there is no parallelism; end-to-end can be
    <= 1x. That is the correct, honest behavior of Block-STM.
