Repository navigation
Bench: benchmark NuGet as a restored project (#1183 scoped crawl) - #1250
Conversation
The NuGet fixture had packages.lock.json but no obj/project.assets.json, which every restored project has. Since #1183 a project-mode crawl with a parsed restore looks its resolved libraries up in ~/.nuget/packages instead of walking the whole cache, so the suite only timed the fallback walk that real restored projects no longer take. Write a project.assets.json listing every package as a library, so nuget/hosted and nuget/rescan exercise the restore-scoped lookup. Expectations are unchanged: the same 900 packages are found. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
bugbot run Generated by Claude Code |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit 37a0909. Configure here.
|
Ready for review (burn-down agent).
Generated by Claude Code |
Final review briefWhat it does: The NuGet bench fixture now writes Risk: low. Bench fixture and README only; Look here:
Verified: traced the bench run: cwd Changes I made: none. Open questions (non-blocking): the suite no longer times the unscoped Auto-merge is armed: approving sends this straight to the merge queue. Generated by Claude Code |
[agent] Bench: daily suite refresh for main
f3c6313a.What main changed
#1183 (
6f43b99c) scopes the project-mode NuGet crawl: when the project has a parsedobj/project.assets.json, the shared~/.nuget/packagesroot is looked up for the restore's resolved libraries instead of walked. Every restored .NET project has that file. Thenuget/*fixture did not, so the suite only timed the fallback walk.Suite changes
nuget/hosted,nuget/rescan: the fixture now writesobj/project.assets.jsonwith all 900 packages astype: packagelibraries, so the scan takes Scope project-mode NuGet crawls to the restore's resolved packages (#427) #1183's restore-scoped lookup.packageFoldersis left out (the fixture's absolute path isn't known at generation time; the crawl still finds~/.nuget/packagesthroughHOME). Expectations are unchanged: 900 scanned, 25 redirected, the same rewritten files.Validation (4 vCPU Xeon @ 2.80GHz)
cargo fmt -p socket-patch-bench,cargo clippy -p socket-patch-bench --all-features --all-targets -- -D warningsandcargo test -p socket-patch-bench(29 passed) are clean.run -f '^nuget/' --runs 5on mainf3c6313a: both scenarios validate. nuget/hosted 118.1 ms (peak RSS 28.3 MiB), nuget/rescan 93.1 ms, both above the ~70 ms floor.compare -f '^nuget/'(same binary at two paths): no regressions (+6.3% [-1.1, +22.3] and -3.0%, both ≈).ea097142(before Scope project-mode NuGet crawls to the restore's resolved packages (#427) #1183) →f3c6313aon the new fixture: nuget/hosted ≈, nuget/rescan -11.4% [-19.1, -1.5].strace -f -e trace=execveon theserve nuget/hostedcommand: the CLI spawns nothing.Time budget
No scenarios were added. Fixture build time is unchanged within noise. A full
comparetook 21.7 min on today's runner (45 scenarios, including 4 confirmation rounds). It is still over the ~12-minute target, as noted in #575.🤖 Generated with Claude Code
https://claude.ai/code/session_01XA89noGPP3ZYzoApZozfst
Generated by Claude Code
Note
Low Risk
Benchmark fixture and documentation only; no production crawl or CLI behavior changes.
Overview
Updates the NuGet benchmark fixture so scans exercise the restore-scoped crawl from #1183 instead of only the global
~/.nuget/packageswalk.build_nugetnow writesproject/obj/project.assets.jsonlisting every synthetic package as atype: packagelibrary (with paths/sha512 aligned to the existing lockfile and cache layout).packageFoldersis omitted because the generator does not know the fixture’s absolute path; the crawl still resolves~/.nuget/packagesviaHOME. Scan expectations (900 scanned, 25 redirected, same rewritten files) are unchanged.The README nuget bullet now describes this restored-project layout (
packages.lock.json+obj/project.assets.json).Reviewed by Cursor Bugbot for commit 37a0909. Configure here.
Generated by Claude Code