Merged
Conversation
Contributor
Benchmark Results (Linux x86-64)
CLI Tool Benchmarks
|
e1e83db to
61a1203
Compare
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.
Summary
Removes Bun from every benchmark surface. ChadScript is now measured against C (clang -O2), ChadScript, Go, and Node.js. Go is kept as a meaningful anchor for "fast compiled language" — the narrative "beats Node, competes with Go, approaches C" reads cleanly with Go in the table.
What changed from the first revision of this PR
The original commit on this branch removed both Go and Bun. That was too aggressive — Go carries real signal (static-typed, native-compiled, well-known performance baseline) and is worth keeping in the comparison. Bun on the other hand competes with Node in the same "JS runtime" category and adds noise without a distinct narrative. This revision force-pushed to remove Bun only.
What's removed
benchmarks/run-ci.sh— allbench_*lines forbun. No Bun builds, no Bun runs. C, ChadScript, Go, Node remain.benchmarks/run.sh(local dev runner) — same treatment..github/workflows/ci.yml— removed theInstall Bunstep; the PR-comment table drops theBuncolumn (now| Benchmark | C | ChadScript | Go | Node | Place |)..github/workflows/update-benchmarks.yml— removed theInstall Bunstep.docs/.vitepress/theme/BenchmarkBars.vue—LANG_NAMESandLANG_ORDERno longer includebun.docs/.vitepress/theme/HeroBenchmarks.vue— same.docs/benchmarks.md— prose "against C (clang -O2), Go, Bun, and Node.js" → "against C (clang -O2), Go, and Node.js".README.md— prose "Compared against C, Go, Node.js, and Bun" → "Compared against C, Go, and Node.js". Footer link text "Full benchmarks with Go and Bun" → "Full benchmarks dashboard". Table columns unchanged (ChadScript / Node.js / vs Node / C).scripts/update-benchmark-docs.js—langMeta.bunremoved.buildMarkdownSummaryno longer generates "Xx faster than Bun" sentences.What's NOT removed
benchmarks/*/bun.mjs,benchmarks/*/*.go) are left in place. Bun's source files are orphaned but harmless — they just no longer run in CI or show up in dashboards. Deleting them can be a separate cleanup PR if desired.docs/.vitepress/theme/ComparisonCards.vue— still has a "Node.js / Deno / Bun" positioning/marketing card. That's a separate editorial decision (comparison cards aren't benchmark results) and is left alone here.Diff stat
Verification
npm run build— tsc passes clean on the modified sources.\bbun\bor\bBun\bremaining in any of the 9 touched files; Go references intact (23 hits in run-ci.sh, 36 in run.sh, unchanged).assemble_json.pyis language-agnostic — it naturally stops emittingbunentries once the runners no longer produce them, and keeps emittinggoentries.Expected impact
cs01.github.io/ChadScript/benchmarks) auto-refreshes on next main CI run to show only C / ChadScript / Go / Node bars.No user code or runtime behavior changes. Pure cleanup.