Repository navigation
Benchmark progress: socket-patch scan #575
Replies: 7 comments
|
[agent] Bench: mirror test. The bench/ledger workflow posted this comment. Daily runs add their summaries after it. Generated by Claude Code |
|
[agent] Bench: run 2026-10-03, main
Generated by Claude Code |
|
[agent] Janitor: state drift. The body still lists #579 as an open regression ( Generated by Claude Code |
|
[agent] Bench: run 2026-10-04, main
Generated by Claude Code |
|
[agent] Bench: run 2026-10-05, main
Generated by Claude Code |
|
[agent] Bench: run 2026-10-06, main
Generated by Claude Code |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
[agent] Bench: progress log for the
socket-patch scanbenchmark suite (crates/socket-patch-bench,.github/workflows/bench.yml). The daily benchmark steward rewrites this body on every run and posts one comment per run. Machine-readable history is inhistory.jsonon thebench/ledgerbranch. The first run (2026-10-02) was logged in #580 and backfilled there.Last run
9c43dfc9(Cache the macOS vexctl build in the test job, Cache the macOS vexctl build in the CI test job #874). That is 74 commits after the last measured SHA,045d7ec7, and 66 of them touchcore/clisrc.main(Bench: cover Bun isolated .bun store; fix rescan restore #667 merged), plusgradle/*from Bench: cover Gradle hosted mode (gradle/hosted, gradle/rescan) #925, measured with the Bench: cover Gradle hosted mode (gradle/hosted, gradle/rescan) #925 bench binary on the same main CLI.compare.gradle/*.045d7ec7→9c43dfc9): no regressions.nuget/hostedgot 26% faster (0.739[0.686, 0.901]), most likely from Unify hosted NuGet routing and XML splice anchors #597 (unified hosted NuGet routing). Request counts are unchanged in every scenario.f6b7fb9epredates the v5 output (v5 prerelease: scan → vex → vendor workflow, hosted by default #277), and every scenario was invalid on it, so the base is again2463257a(v5 prerelease: scan → vex → vendor workflow, hosted by default #277). Only the known Fix Bun/vlt bundled copies left unpatched (#469, #471) #472 regressions remain: bun/hosted +111.6%, bun/rescan +122.5% (Perf regression: bun/hosted wall +110% (1169ae68, #472) #578, data commented), vlt/hosted +104.5% and vlt/rescan +133.2% (accepted, Perf regression: vlt/hosted wall +127% (1169ae68, #472) #579). nuget/hosted is 22% faster. Everything else is within noise; npm/hosted is +10.0% with a CI of [-0.3, +15.9], so not flagged.yarn-berry/*andbun-isolated/*have no comparable base.Scoreboard
Day: wall ratio vs
045d7ec7. Week: wall ratio vs2463257a(#277). The median ms/pkg across*/hostedis 0.1361; gradle is excluded until it lands.npm/hostednpm/rescanpnpm/hostedpnpm/rescanyarn-classic/hostedyarn-classic/rescanyarn-berry/hostedyarn-berry/rescanbun/hostedbun/rescanbun-isolated/hostedbun-isolated/rescanvlt/hostedvlt/rescanpip/hostedpip/rescanuv/hosteduv/rescanpylock/hostedpylock/rescanpoetry/hostedpoetry/rescanpipenv/hostedpipenv/rescanpdm/hostedpdm/rescanbundler/hostedbundler/rescancomposer/hostedcomposer/rescancargo/hostedcargo/rescangolang/hostedgolang/rescannuget/hostednuget/rescanmaven/hostedmaven/rescannpm/dry-runnpm/public-proxynpm/latencygradle/hosted(new, in #925)gradle/rescan(new, in #925)Trends
Median
<pm>/hostedwall time per run, oldest → newest (ms). Runners differ between runs (10-05 was about 1.4x slower everywhere), so read these as trends only.Open issues and PR
rewrite_bun_lock→bun_lock_text::is_bundled_entryJSON-parses each entry once per patch. Accepting it the way Perf regression: vlt/hosted wall +127% (1169ae68, #472) #579 was accepted is a human call.bench/refresh): Bench: cover Gradle hosted mode (gradle/hosted, gradle/rescan). New today,state: ready.Standing slow-systems list
A package manager is slow when its hosted ms/pkg is more than 2x the median across
*/hosted(0.1361 today), or when any of its scenarios takes over 500 ms (npm/latencyis excluded). An issue opens after 3 consecutive runs, capped at 3 new issues per run.utils::poetry_lock::rewrite_poetry_lock_in, 77% (whole lock re-parsed per patch). Callgrind 10-04redirect::vlt(callgrind 10-02)utils::pdm_lock::rewrite_pdm_lock_in, 77% (same per-patch re-parse as Poetry). Callgrind 10-04formats::cargo::CargoLock::parseinsiderewrite_cargo, 79%. Callgrind 10-04PythonLockSession::rewrite39%, mostlyDocumentMutDisplay (whole lock re-serialized per patched dep). Callgrind 10-05PythonLockSession::rewrite38%; vexpypi_locks::extract31%. Callgrind 10-05pipenvNo scenario's peak RSS is above 2x the median (35.3 MiB). Scenarios over 500 ms: vlt/hosted, vlt/rescan (npm/latency is excluded by design). The new gradle/hosted runs at 0.171 ms/pkg (1.25x), so it is not slow. gradle/rescan (259 ms) is about 1.5x slower than gradle/hosted; it is a candidate to profile once #925 lands.
Coverage-gap backlog
New since 10-05: 74 commits on main. Gradle (#646) and Hatch (#743, #680) landed.
gradle(Full Gradle support in agent, hosted and vendored modes #646): covered bygradle/*in Bench: cover Gradle hosted mode (gradle/hosted, gradle/rescan) #925.hatch.tomlis a HOSTED pypi input. There is still nopm:hatchscenario. Next to add.gradle/verification-metadata.xmlrewrite andmavenLocal()m2 gating are all uncovered (Full Gradle support in agent, hosted and vendored modes #646).nodeLinker: pnpm, Fix npm crawler missing Bun, Deno and Yarn 4 stores (#366, #373, #405, #495) #496): uncovered.npm:…::__archiveUrlpins (Fix yarn berry hosted pin leaking npm auth (#404) #465): uncovered.bun_binaryrewriter and codec (Fix Bun/vlt bundled copies left unpatched (#469, #471) #472) are unbenchmarked.redirect_*_bundled_instance_skippedpaths (Fix Bun/vlt bundled copies left unpatched (#469, #471) #472, Fix in-run hosted VEX attesting npm bundled copies (#325) #669).UV_PROJECT_ENVIRONMENT/ PDM venv locations (Fix Python env discovery ignoring uv/PDM env (#502, #525, #528) #540),.egg-info(Fix Python crawler missing .egg-info installs (#447) #452), Poetryenvs.toml(Fix Poetry venv selection ignoring envs.toml (#476, #526) #527) and lock-onlyrequirements.txt(Fix lock-only requirements.txt discovery (#412, #523) #530) are uncovered..bundle/config(Fix Bundler settings resolution order (#483, #507) #532, Gem settings resolution skips Bundler's global config (~/.bundle/config/BUNDLE_USER_CONFIG), so a globalcache_pathorgemfilegets no warning or refusal and VEX attests an unpatched install #577),gems.locked(Fix gem lock readers ignoring gems.locked (#736) #750) and Bundler 4 standalone (Fix gem crawler missing Bundler 4 standalone bundle (#796) #797): uncovered.Stale / redundant scenarios
None yet. Merging hosted/rescan pairs needs 14+ days of history; there are 5 days so far. Candidate:
bun/rescanoverlapsbun-isolated/rescanon the lockfile path.Generated by Claude Code
All reactions