# QuickFIX C++ quantity-source measured-window CPU investigation

This follows the [completed integer-quantity campaign](RECORD_2026-10-19_quickfix_cpp_integer_quantities.md).
Both physical matrices retain full functional/cold proof, but all four flows
miss the unchanged 10,000/s rate gate on both rigs. No source or configuration
change has qualified a QuickFIX C++ comparison. Repeating those matrices
without a changed input would not resolve the blocker.

## Fixed inputs and scope

The private worker is
`private/benchmarks/retained/quickfix_cpp_quantity_cpu_profile_20261019.py`,
SHA-256 `041cd35316e67f476043f08809017ff751fda511520e1609b55afd2eeca3dda3`. It consumes the original frozen
quantity source `43b20caa45ab3583d08b03bcb050f30f069ef688` and its existing
threaded binary
`fc3c63a6bb88fc2e802fc07f884c377d095c650c58db88c11defba5d086f633a`.
The source-specific SCAN native receipt is
`751802fd3619db3b6edd211950c6b2c6f625e641b2be8756d4fda95870cfa1f9`.
It binds the 1,000,088 quantity checks, 1,000,078 price checks, 660 parsed-message
immutability checks, 43 independently replayed pairs/76 refusals and twenty
public cold cases/88 refusals. Its broader portable gate remains failed;
the newer private fixture source's pass is not borrowed by this runtime.

The worker declares separate benchmark, workload, controller, shared helper
and language-source inputs before importing the frozen checker. It rebuilds
neither the SDK nor the application. A tiny separate runtime clock probe
must pass 10,000 `steady_clock`/`CLOCK_MONOTONIC` bracket checks using the
already qualified compiler.

Two localhost CPU diagnostics retain the original NOS and depth-ten MD
bodies, ten-cycle pre-warmup capture, 1,000 discarded warmups and 20,000
measured cycles at the original 10,000/s request. The original pair checker
must pass both full bodies, owners, primary/delay samples and administration.
`perf record --clockid mono` samples user cycles at 199 Hz with 4,096-byte
DWARF stacks. Each self/inclusive `perf report --time` must use its own role's
original measured window, without startup/warmup substitution. CPU shares
are not fractions of RTT; inclusive shares overlap, and unresolved symbols
and truncated stack attribution remain visible.

The outer foreground job queues through `host-cpu-slot wait --pool shared`
at normal priority, pinned to SCAN CPUs 0–9. Host status, processes, memory
and disk are checked before work. Existing isolated/shared jobs are untouched.
It writes outside the source to
`~/build/codex-fullbench/libhft/quickfix-cpp-quantity-cpu-profile-20261019-v1`.
Every source/SDK/product byte and mode must remain unchanged. Original raw
samples, captures and full perf data stay on SCAN; only bounded metadata and
derived text may be collected and independently checked.

At this checkpoint the actual job is queued. No CPU percentage, functional
pass, timing improvement, physical pass, complete portable pass or public
release admission is inferred from the earlier precision-source profile.
The full plan remains incomplete; its 10,000/s policy is unchanged.

## Actual measured-window diagnostic completes

The normal shared lease is granted after the existing private HA job. Both
original localhost pairs pass the independent frozen checker, retaining
20,000 measured primary/delay samples per flow and all original fixture,
owner, capture and admin checks. All four process exits are zero. The
10,000 runtime epoch checks pass; the widest bracket is 5,690 ns. All eight
self/inclusive reports contain samples inside their exact original role-local
measured windows. Every source/SDK/product byte and mode stays unchanged.

| Flow / role | Symbol or path | Share type | Sampled CPU share |
| --- | --- | --- | ---: |
| MD server | `qfcanonical::snapshot` | inclusive | 38.95% |
| MD server | `FIX::FieldMap::FieldMap(int const*)` | inclusive | 11.84% |
| MD server | `malloc` | inclusive | 17.64% |
| MD server | `qfcanonical::price_field` | inclusive | 10.97% |
| MD client | SDK wire-message constructor/parsing path | inclusive | 29.07% |
| MD client | SDK `Message::setGroup` | self | 7.32% |
| NOS server | SDK `DataDictionary::iterate` | self | 9.77% |

Inclusive entries overlap and must not be added. These shared-CPU localhost
shares establish no physical timing improvement and cannot be compared as a
controlled speedup against the earlier precision-source run. Unknown symbols,
allocator work and bounded stack attribution remain explicit. The profile
motivates inspecting public SDK group construction; it does not justify
skipping dictionary validation, original serialization or full-book extraction.

Twenty-five bounded metadata/derived-text files match their original lengths
and hashes. The reviewer checks the exact qualified binary/native receipt,
worker digest, source pin, runtime calibration, original admin-window hashes,
integer nanosecond conversion, exact selected report windows and report bytes.
No raw samples, captures or perf data are downloaded. Review metadata stays at
`~/build/codex-fullbench/libhft/qfcpp-quantity-review-20261019-v1/scan/measured-cpu-profile`.
Completed diagnostic receipt SHA-256:
`596842a268cb037ddad8bd229710cd0ff013c15f17217a8fc0ee2298ced48f69`.
The older runtime's failed broad portable gate and both physical diagnostic
matrices remain unchanged. This CPU pass grants no Stage 5 or public release
admission, and the full plan remains incomplete.
