fix: -march=native spec parity in CI workflows + Dockerfile#2
Closed
birdnamoo wants to merge 2 commits into
Closed
fix: -march=native spec parity in CI workflows + Dockerfile#2birdnamoo wants to merge 2 commits into
birdnamoo wants to merge 2 commits into
Conversation
added 2 commits
May 11, 2026 22:56
BENCHMARK_REPORT.md (v0.51.22) 및 results/BENCHMARK_REPORT.md (v0.50.51) 모두 3.5개월 stale. 전면 재생성 대신 stale warning + claudedocs/ROADMAP.md § 5 redirect 패턴 적용. historical snapshot 보존. 핵심 변화 강조 (v0.51.22 → v0.98): - sorting 1.10x → 0.910x (BMB 9% FASTER, 19pp 개선) - lexer 1.09x → 1.000x (parity) - brainfuck 1.11x → 1.036x (7.4pp) Cycle 2737 (main repo Cycles 2737-2744).
Adds -march=native to 5 compile sites in CI workflows and Dockerfile to match the published benchmark specification (docs/BENCHMARK_MASTERPLAN.md:135 mandates clang 18.x -O3 -march=native for the C baseline). Sites changed (+5 / -5): - .github/workflows/benchmark-multiplatform.yml:96 (clang Unix) - .github/workflows/benchmark-multiplatform.yml:132 (gcc MinGW Win) - .github/workflows/benchmark.yml:71 (clang) - .github/workflows/benchmark.yml:118 (clang) - Dockerfile:71 (clang) Already-compliant sites unchanged: workflows benchmark-multiplatform.yml:94 (gcc Unix), Dockerfile:64 (gcc), run_benchmarks.sh:77, run_wsl_bench.sh:30,45. Baseline change: CI history prior to this commit is not directly comparable. First CI run after merge becomes the new baseline. Refs: parent repo Cycle 2743 audit; Cycle 2745 decision adoption.
Contributor
Author
|
Withdrawn; merging directly to main per maintainer decision. |
birdnamoo
pushed a commit
to lang-bmb/lang-bmb
that referenced
this pull request
May 11, 2026
사용자 결정 변경: PR overhead 회피, maintainer 직접 main 적용. 수행: - 서브모듈 push origin fix/march-native-spec-parity (cb478d2) - PR #2 (lang-bmb/benchmark-bmb#2) close (withdrawn) - 서브모듈 main fast-forward merge (62feed4..cb478d2) - 서브모듈 main push origin - 서브모듈 fix branch 삭제 (local + remote) - 부모 repo submodule pointer bump → ecosystem/benchmark-bmb @ cb478d2 CI baseline 첫 stamp: 다음 schedule trigger (Sunday 00:00 UTC) 또는 workflow_dispatch. CI history 단절 = 의도된 baseline change.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR Draft — fix: -march=native spec parity in CI workflows + Dockerfile
Title (≤70 chars)
Body
Summary
Adds
-march=nativeto 5 compile sites in CI workflows and Dockerfile tomatch the published benchmark specification (
docs/BENCHMARK_MASTERPLAN.md:135),which mandates
clang 18.x (-O3 -march=native)for the C baseline.Discovered during Cycle 2743 (parent repo) policy-vs-code gap audit.
Sites changed (+5 / -5)
.github/workflows/benchmark-multiplatform.ymlclang -O3clang -O3 -march=native.github/workflows/benchmark-multiplatform.ymlgcc -O3gcc -O3 -march=native.github/workflows/benchmark.ymlclang -O3clang -O3 -march=native.github/workflows/benchmark.ymlclang -O3clang -O3 -march=nativeDockerfileclang -O3clang -O3 -march=nativeAlready-compliant sites (no change):
.github/workflows/benchmark-multiplatform.yml:94— gcc UnixDockerfile:64— gccrun_benchmarks.sh:77— clangrun_wsl_bench.sh:30,45— clangThis is a baseline change. After merge:
or roughly equal, depending on workload).
-march=nativeenables targetCPU vectorization (AVX2/AVX-512), which mostly helps numeric kernels.
this PR. First CI run after merge should be stamped as the new baseline.
workflow runs) should be aware of the discontinuity.
Rationale
The benchmark spec (
docs/BENCHMARK_MASTERPLAN.md:135) explicitly states:5 of the 10 audited compile sites had
-march=nativemissing. This PRbrings them into spec parity. Without
-march=native, the C baseline runswith conservative ISA (typically x86-64-v1 on Ubuntu runners), making the
BMB-vs-C comparison favor BMB unfairly. The BMB compiler itself uses LLVM
opt -O2 which can target the host CPU; the C baseline should match.
Verification
Local diff (
git diffonfix/march-native-spec-paritybranch):Only
-march=nativeis added; no other semantics change.Post-merge actions
mainafter merge → stamp result JSON as new baseline.lang-bmb) submodule pointer to include this commit.Related
claudedocs/cycle-logs/cycle-2743.mdHUMAN dispatch instructions (Sequence E.4):