Skip to content

Commit f65877f

Browse files
committed
docs(bench): the mcpp-compiler asymmetry is closed, not declared
1 parent b4c4a8f commit f65877f

6 files changed

Lines changed: 5509 additions & 5494 deletions

File tree

bench/README.md

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -446,9 +446,23 @@ comparison of absolute seconds as invalid; compare **ratios within one table**.
446446

447447
These cannot be removed, so they are stated rather than hidden.
448448

449-
* **mcpp uses its own hermetic toolchain.** `--compiler` pins the others; mcpp
450-
resolves gcc/llvm from its registry by design. Point `--compiler` at that same
451-
payload (`~/.mcpp/registry/data/xpkgs/xim-x-gcc/<ver>/bin/g++`) to close the gap.
449+
* ~~**mcpp uses its own hermetic toolchain.**~~ **CLOSED, and it was not an
450+
asymmetry — it was a hole.** mcpp resolves gcc/llvm from its registry and
451+
ignores the `--compiler` every other engine is handed, which for the generated
452+
fixture is harmless (the harness writes that manifest) and for a real project
453+
is not: the pinned workloads say `gcc@16.1.0`, so on a clang cell cmake and
454+
xmake ran clang while mcpp quietly ran gcc — a compiler comparison wearing an
455+
engine-comparison label. `--compiler payload:gcc|clang` now resolves the driver
456+
out of mcpp's own registry for *every* engine, and the mcpp engine translates
457+
the same request into `MCPP_TOOLCHAIN` from the same version constants. Stated
458+
here because it stood as a "declared asymmetry" for a while, and a thing you
459+
can fix should not stay on this list.
460+
* **The `+schedule=on` arm is the same binary, not a different engine.** mcpp's
461+
BMI schedule is a key in the MEASURED PROJECT's manifest and the workloads are
462+
pinned (one belongs to someone else), so the harness reaches it through
463+
`MCPP_BMI_SCHEDULE` and labels the arm `mcpp@<ver>+schedule=on`. It is an
464+
option under test, and it is on the same row set as the default so the two are
465+
read together rather than across runs.
452466
* **No fixture says `import std;`.** Engines differ wildly in how — and whether —
453467
they can build the std module (CMake needs a per-version experimental UUID,
454468
meson has no story). That difference would dominate every measurement. The
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
{
2+
options = {
3+
mode = "release",
4+
builddir = "/home/speak/workspace/github/mcpp-community/mcpp/bench/projects/mcpp/mcpp-2026.8.11.3/build"
5+
},
26
recheck = false,
37
mtimes = {
48
["xmake.lua"] = 1786600374,
59
["../common/xmake/payload.lua"] = 1786590977
6-
},
7-
options = {
8-
mode = "release",
9-
builddir = "/home/speak/workspace/github/mcpp-community/mcpp/bench/projects/mcpp/mcpp-2026.8.11.3/build"
1010
}
1111
}

0 commit comments

Comments
 (0)