Repository navigation
T1211: callgrind-only perf CI with JVM vs clojure-rs comparison - #37
Merged
Merged
Conversation
Ref T1211 AI-Tool: Muse Code 1.4.14-R7309.1 (Meta Muse Spark)
Branch the callgrind phase on the resolved argv0: JVM legs keep the -Xint+EpsilonGC recipe, native legs take plain callgrind plus one LD_PRELOAD allocation-counting run (embedded C shim, cumulative malloc-request total). Classpath resolution is tolerated when the template has no {cp} hole; provenance gains runtime_version and ToolVersion bumps to 5.
Ref T1211
AI-Tool: Muse Code 1.4.14-R7309.1 (Meta Muse Spark)
Drop the perf/report jobs; perf-callgrind becomes the only perf signal at 8 shards x {jvm, clojure-rs}, with the Rust port built interpreter-only from a pinned SHA and testbeds derived as ubuntu-latest-<runtime>. report-callgrind merges per runtime; README documents the single-signal pipeline.
Ref T1211
AI-Tool: Muse Code 1.4.14-R7309.1 (Meta Muse Spark)
|
| Project | clojure-code-snippet |
| Branch | T1211-callgrind-compare-clojure-rs |
| Commit | 896c1e6 |
| Report | Testbed | Adapter | Status |
|---|---|---|---|
| 1 | ubuntu-latest-clojure-rs | JSON | ✅ No Alerts |
| 2 | ubuntu-latest-jvm | JSON | ✅ No Alerts |
⚠️ WARNING: Truncated view!The full continuous benchmarking report exceeds the maximum length allowed on this platform.
Move CLOJURE_RS_SHA from 0dbb78a to 7e13b3e (upstream #209: FxHash registries, lock-free env frames, Arc-shared AST; 2-20x faster). Validated locally first: new binary builds --no-default-features and reproduces old outputs byte-for-byte on startup, suffix-array and disjoint-set probes. Ref T1211 AI-Tool: Muse Code 1.4.14-R7309.1 (Meta Muse Spark)
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.
Consolidates perf CI onto the deterministic callgrind sweep and adds the Rust port as a second measured runtime, so
callgrind_instructionsandcallgrind_allocated_bytesfor JVM Clojure vs clojure-rs overlay per benchmark via Bencher testbeds.What changed
.github/workflows/test.yml): drops theperf/reportjobs;perf-callgrindis now the only perf signal at 8 shards x {jvm, clojure-rs};report-callgrindmerges per runtime. clojure-rs builds interpreter-only (--no-default-features, no LLVM) from pinnedCLOJURE_RS_SHA; testbeds derive asubuntu-latest-<runtime>.-Xint+EpsilonGC, native legs take plain callgrind plus oneLD_PRELOADallocation-counting run (embedded C shim). Classpath resolution is tolerated when the template has no{cp}hole; provenance gainsruntime_version; ToolVersion 4 -> 5.Spec:
docs/t1211/specification.md. Task: https://orsay.hhh.pa/T1211Validation
go test ./...green;snip measure --self-test: 0 failed (incl. new alloc-shim parser checks);snip ssa: 7 passed with real jars.-Wall -Wextra); liveLD_PRELOADtest runs on Linux (skipped on macOS).Merge prerequisites (admin, at merge time)
test,perf (0..3),report (jvm): replace theperf/reportcontexts with the newperf-callgrind (...)/report-callgrind (...)check names from this PR.allocated_bytesBencher threshold once reporting stops.