# Combined QuickFIX/J direct events and thread placement

2026-10-12. This final combined configuration diagnostic advances the
[full-bench plan](../../../docs/bench/PLAN_FULL_BENCH.md), preserving the
default and every separately qualified configuration.

The unchanged, already qualified direct-event driver uses the stock public
event strategy and production `Session.next(message)`. The external placement
wrapper assigns only its child JVM's threads inside the existing four-CPU
endpoint masks. After spawning that child, the parent monitor is pinned to the
fourth endpoint CPU, alongside auxiliary JVM threads. Main, MINA and the unused
standard message processor retain their separately assigned CPUs. Both peers
record every affinity change and successful child exit. There is no new SDK
compile, source patch, reflection or protocol response.

The complete 805-file driver inventory remains
`experiment-quickfixj-canonical-direct-events-e3f6061c400b2b0b6d0a8f485ff2c3cd3bee86de716c499fca568611bbef88b4`.
The separate wrapper SHA-256 is
`35233a5dd00ac2a6b3b8f07d2f070c9ab536bc51ddd9a3c35b7d073eccfa3854`.
Original runtime/source/dependency inventories are retained.

## Actual HP results

A high-priority exclusive lease first passes twelve complete functional pairs
with zero/repeated warmup. It then completes the full twelve-pair localhost
matrix at 1,000 excluded warmups, 10,000 measured cycles and a 10,000/s offer.
Every canonical fixture, original administration boundary and full owner fold
passes. The full cohort retains 120,000 primary/delay samples and 330,000
original application frames per peer.

| Flow | Achieved cycles/s across three runs | Failed timing gates |
|---|---:|---|
| NOS/ER | 3,752–3,763 | rate, delay |
| MD | 2,976–3,038 | rate, delay |
| Mixed | 2,030–2,045 | rate, delay |
| Tick | 3,637–3,769 | rate, delay, full stability |

The independent default reader reproduces all twelve original receipts,
raw quantiles/extrema and failed decisions exactly. It changes no original
bytes/modes or source, and opens no sockets. Forty-eight affinity logs retain
both peers of all 24 actual pairs.

Combining the two public configurations does not solve the existing rate/delay
contract. No maintained default, historical grade or physical result is
promoted. The Java anchor's required report rate remains an open plan gate;
these measurements do not authorize a lower-rate contract.

## Immutable retention

[Import](evidence/quickfixj-canonical-direct-affinity-20261012/import-receipt.json)
and [seal](evidence/quickfixj-canonical-direct-affinity-20261012/retention-seal.json)
retain **397 files / 177,579,700 bytes**, seal SHA-256
`50ec63ce4fd2f813a7065676b3e019d132a646ed962ed10dd2830952da0d9fea`.
Both host replicas verify the originals. Across both cohorts it retains
120,240 primary/delay samples and 330,700 original application frames per peer,
the exact wrapper/helpers, original logs and independent full replay.
