Stage‑2 codec microbench report
Synthetic in-memory FIX parser/builder benchmark. Generated 2026-09-11T13:10:42Z.
1/1engines compiled and ran
25operation rows
50,000 / 5,000measured / warm-up iterations
3/3mutation parity audit
hp Linux 5.14.0-687.44.1.el9_8.x86_64 x86_64measurement host
Host-local evidence. This page reports one machine and one run. It presents retained summary percentiles only; it is not a high-definition CDF or HdrHistogram report. Do not merge or rank host pages without an explicit matched-hardware/campaign decision.
Field-work parity. All selected negative fixtures were rejected through their field-work checks.
Adapter build and run status
| Engine | Compile | Run | Compile s | Run s | Notes |
|---|---|---|---|---|---|
| quickfix_go | compile-ok | run-ok | 0.115 | 230.042 | — |
Headline p50 matrix nanoseconds; lower is better; click a column heading to sort
| quickfix_go | 1860 | 1898 | 7485 | 2236 | 2873 | 8790 | 18500 | 19745 | 34871 |
|---|
Parity mutation audit
Each probe changes field values while retaining the FIX BodyLength and checksum. A pass means the adapter rejected the stale 9001/9002 value through its own field-work check.
| Engine | Probe | Operation | Fixture | Status | Notes |
|---|---|---|---|---|---|
| quickfix_go | extract_8 | parse_extract | 8 | pass | stale field hash rejected as expected |
| quickfix_go | extract_w | parse_extract | W | pass | stale field hash rejected as expected |
| quickfix_go | light_w | parse_only | W | pass | stale field hash rejected as expected |
All operation summaries
| Engine | Language | Fixture | Operation | N | Mean ns | p50 | p90 | p99 | p99.9 | p99.99 | Max | Notes |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| quickfix_go | Go | 0 | parse_extract | 50000 | 2157.4 | 2111 | 2186 | 2461 | 7851 | 8644 | 176993 | — |
| quickfix_go | Go | 0 | parse_only | 50000 | 1258.1 | 1237 | 1258 | 1425 | 5510 | 8004 | 8283 | — |
| quickfix_go | Go | 1 | parse_extract | 50000 | 2155.1 | 2111 | 2191 | 2615 | 7889 | 8472 | 9960 | — |
| quickfix_go | Go | 1 | parse_only | 50000 | 1253.1 | 1238 | 1257 | 1360 | 5278 | 7862 | 8579 | — |
| quickfix_go | Go | 2 | parse_extract | 50000 | 2348.6 | 2202 | 2617 | 3116 | 8715 | 9639 | 83318 | — |
| quickfix_go | Go | 2 | parse_only | 50000 | 1384.2 | 1304 | 1591 | 2096 | 6003 | 8709 | 9279 | — |
| quickfix_go | Go | 4 | parse_extract | 50000 | 2337.8 | 2197 | 2595 | 3030 | 8671 | 9604 | 32989 | — |
| quickfix_go | Go | 4 | parse_only | 50000 | 1384.0 | 1303 | 1597 | 2032 | 6506 | 8253 | 9744 | — |
| quickfix_go | Go | 5 | parse_extract | 50000 | 2274.2 | 2127 | 2516 | 3079 | 8420 | 9390 | 227177 | — |
| quickfix_go | Go | 5 | parse_only | 50000 | 1302.0 | 1241 | 1455 | 1764 | 6672 | 8589 | 10232 | — |
| quickfix_go | Go | 8 | build_8 | 50000 | 9088.7 | 8790 | 9009 | 15238 | 16171 | 19207 | 102797 | — |
| quickfix_go | Go | 8 | parse_extract | 50000 | 2978.9 | 2873 | 3284 | 3760 | 9145 | 10199 | 10548 | — |
| quickfix_go | Go | 8 | parse_only | 50000 | 2359.4 | 2236 | 2629 | 3068 | 8451 | 9450 | 10070 | — |
| quickfix_go | Go | A | parse_extract | 50000 | 2282.8 | 2240 | 2319 | 2583 | 8067 | 8786 | 36756 | — |
| quickfix_go | Go | A | parse_only | 50000 | 1388.7 | 1366 | 1390 | 1548 | 6485 | 8875 | 40993 | — |
| quickfix_go | Go | D | build_D | 50000 | 7759.7 | 7485 | 7681 | 13833 | 14827 | 16806 | 39532 | — |
| quickfix_go | Go | D | parse_extract | 50000 | 2008.4 | 1898 | 2256 | 2637 | 6885 | 8913 | 9435 | — |
| quickfix_go | Go | D | parse_only | 50000 | 1969.3 | 1860 | 2224 | 2593 | 7361 | 8698 | 8949 | — |
| quickfix_go | Go | W | build_W | 50000 | 36984.2 | 34871 | 41880 | 44175 | 57451 | 91170 | 275773 | — |
| quickfix_go | Go | W | parse_extract | 50000 | 20661.9 | 19745 | 24823 | 27862 | 30282 | 40575 | 236454 | — |
| quickfix_go | Go | W | parse_only | 50000 | 19197.1 | 18500 | 23536 | 26209 | 28675 | 31186 | 46787 | — |
| quickfix_go | Go | X | parse_extract | 50000 | 7358.3 | 7338 | 7431 | 7570 | 13124 | 14065 | 16771 | — |
| quickfix_go | Go | X | parse_only | 50000 | 7301.1 | 7281 | 7372 | 7519 | 13107 | 14014 | 15803 | — |
| quickfix_go | Go | j | parse_extract | 50000 | 2477.0 | 2332 | 2732 | 3236 | 8791 | 9710 | 10431 | — |
| quickfix_go | Go | j | parse_only | 50000 | 1526.5 | 1435 | 1755 | 2082 | 6960 | 8228 | 8817 | — |