cf7392 HammerDB run, 2026-10-11
==============================

Builds (meson -O2, debug symbols, no cassert):
  base  c4ba16b8bd2  upstream a14041d437f plus dev tooling (src identical)
  p6    69dca9e1b4b  v8-0001..0006 applied to base (0006 equal to v7)
  p7    5ec21b16ca0  v8-0001..0007 applied to base

Server: EC2 i7i.metal-24xl, 96 vCPU Xeon Platinum 8559C, one NUMA node,
755 GB, 6 local NVMe in RAID0 (xfs), Debian 13 (6.12 kernel).
Settings are in results/provenance.txt.  Load came from three
c8i.4xlarge in the same cluster placement group, running HammerDB 6.0.

The order of variants is randomized within each block.  Each TPROC-C run
starts from a fresh reflink copy of one pristine 1000-warehouse image.
Intervals are 95% t intervals on the mean per-block log ratio against
base.

scripts/analyze.py results  regenerates analyze.out

Layout
  results/mix.csv, mix-mem.csv     weighted mixes (mix.tcl, positive.sql)
  results/tprocc*.csv              TPROC-C: main run (48 and 192 VUs),
                                   4-block follow-up, 3x3 Latin square
  results/lockwin.txt              lock waits per TPROC-C run, from the
                                   server logs (the main run didn't record
                                   them in its CSV)
  results/tproch.csv               first TPROC-H pass, power runs only;
                                   tproch.hammerdb-raw.csv is HammerDB's
                                   output before the CR fix
  results/tproch-tput*.csv         TPROC-H rerun from one driver:
                                   throughput, 6 streams x 2 blocks; power
                                   x 3 blocks; peak backend memory
  results/tproch-planner2.csv      EXPLAIN (MEMORY, SUMMARY), 21 runs x 22
  results/tproch-plans.*.txt       EXPLAIN (COSTS OFF) of the 22 queries
  logs/cplans2.*.shapes            plan shapes of the statements inside
                                   the TPROC-C functions (auto_explain,
                                   log_nested_statements)
  logs/probe4.log                  plan, time and result md5 of each mix
                                   template, all three builds
  logs/probe6.log                  P7_join and two neutral templates run
                                   alone, 30 runs each, EXPLAIN VERBOSE

What is not used, and why
  - The first TPROC-H throughput pass ran two streams on each of three
    drivers.  That gives three VU 1s and three VU 2s, and HammerDB names
    Q15's view revenue<vu>, so the views collided and streams aborted.
    Dropped and rerun from one driver.
  - tproch-planner.csv: its planning times are empty (the parser read
    the wrong JSON key).  Replaced by tproch-planner2.csv.
  - Nothing else.  The main TPROC-C pass ran RAMPUP=1, the follow-up and
    Latin square RAMPUP=2, all with DURATION=4.  NOPM is measured on the
    server (sum(d_next_o_id) before and after a window that starts 15 s
    after ramp-up), and all ten 192-VU blocks are in the paired intervals.
