Skip to content

Commit b197691

Browse files
committed
Record current AArch64 benchmark matrix
1 parent 15a03a6 commit b197691

1 file changed

Lines changed: 58 additions & 0 deletions

File tree

copy-patch-notes.md

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1966,3 +1966,61 @@ let the single wedged cell block the remaining 183.
19661966
Not measured: whether the -6.1% memcpy and -3.4% int64 the AArch64 ADDI
19671967
entry reports transfer to this architecture. That needs the same-binary
19681968
`CP_IMM_DISABLE=1` control, which is the next step.
1969+
1970+
## Done: current AArch64 four-build matrix (2026-08-25)
1971+
1972+
The complete AArch64 matrix was rerun after the context, lowering, fusion,
1973+
generic-trie, and generated-table changes. The main column is commit
1974+
`bd095381`, tail-call and Lightning are `8d9f970b`, and copy-patch is current
1975+
commit `15a03a6f`. The main, tail-call, and Lightning binaries are the preserved
1976+
hash-identical binaries from the 2026-08-24 matrix; copy-patch was freshly
1977+
built with the MacPorts Clang toolchain.
1978+
1979+
Protocol: fixed musl stress-ng bogo-ops, the same kernel and rootfs as the
1980+
previous AArch64 matrix, each build's three-run boot median subtracted, and
1981+
three interleaved repetitions. All 156 workload cells completed. Median
1982+
boot-subtracted CPU seconds:
1983+
1984+
workload main tail-call Lightning CP CP/main CP/light
1985+
nop 6.380 4.078 0.393 0.378 0.059 0.962
1986+
regs 13.748 13.844 1.896 1.807 0.131 0.953
1987+
branch 1.033 0.715 0.731 1.122 1.086 1.535
1988+
tree 2.462 2.590 2.033 1.750 0.711 0.861
1989+
qsort 3.992 3.892 2.651 1.421 0.356 0.536
1990+
memcpy 10.548 7.938 2.467 3.021 0.286 1.225
1991+
zlib 8.511 8.608 4.677 3.786 0.445 0.809
1992+
hash 6.796 4.929 2.480 1.781 0.262 0.718
1993+
syscall 1.659 1.034 0.470 0.469 0.283 0.998
1994+
double 2.743 1.785 1.611 1.832 0.668 1.137
1995+
sieve 14.740 11.480 2.039 1.986 0.135 0.974
1996+
int64 4.336 2.841 1.563 0.728 0.168 0.466
1997+
matrixprod 3.949 3.561 1.610 1.123 0.284 0.698
1998+
geomean 4.748 3.754 1.561 1.359 0.286 0.871
1999+
2000+
Current copy-patch takes 28.6 percent of main's geomean time: a 3.49x
2001+
speedup, or 71.4 percent less elapsed CPU time. It beats main on 12/13 rows;
2002+
branch is the only loss at 8.6 percent. It also takes 87.1 percent of
2003+
Lightning's geomean time, a 1.15x speedup, and wins 10/13 rows. Its Lightning
2004+
losses remain branch, memcpy, and double.
2005+
2006+
Boot medians were main 0.119 s, tail-call 0.142 s, Lightning 0.148 s, and
2007+
copy-patch 0.180 s. Thus CP pays 61 ms more boot CPU time than main; boot is
2008+
not included in the workload table.
2009+
2010+
Every repetition within each build retired the identical mcycle. Tail-call,
2011+
Lightning, and copy-patch also retired identical mcycles to one another on
2012+
every workload. Main retired a systematically different count because it
2013+
predates the feature branch's guest-clock/configuration history, so this is
2014+
not a same-source backend hash gate. Backend correctness remains covered by
2015+
the same-source differential and machine tests recorded above.
2016+
2017+
Binary SHA-256 identities:
2018+
2019+
main 15e324427e1b1c4728e55a1f41f33e58f7b8a689150011a408fdd176bb31d21a
2020+
tail-call b94f267547b08c65120369e5afdab2977e619c4e810180d610fa57f63ec8d5d4
2021+
Lightning 4912b741bea2458b6dbe0c1666c24059bf3e1a7f0ed9ae6a5446560b59d54b95
2022+
copy-patch 02105f1bf05af8f66321e9c9ea4f40d5445e7b6ac9e2310df3583b4072a9e95e
2023+
2024+
The incrementally written raw result is preserved at
2025+
`scratch/fusion-pairs/aarch64-current-2026-08-25/timing-matrix.json` in the
2026+
canonical local checkout.

0 commit comments

Comments
 (0)