Skip to content

perf(pm): remove resolver memory cache layer#3047

Draft
elrrrrrrr wants to merge 1 commit into
perf/pm-split-resolver-registry-statelessfrom
perf/pm-split-resolver-remove-memory-cache
Draft

perf(pm): remove resolver memory cache layer#3047
elrrrrrrr wants to merge 1 commit into
perf/pm-split-resolver-registry-statelessfrom
perf/pm-split-resolver-remove-memory-cache

Conversation

@elrrrrrrr
Copy link
Copy Markdown
Contributor

Summary

  • remove MemoryCache, PackageCache, and cache stats from ruborist service cache
  • keep only serializable project cache data structures
  • update service exports and docs to reflect resolver-owned manifest state

Validation

  • cargo fmt
  • cargo check -p utoo-ruborist
  • cargo test -p utoo-ruborist service::registry::tests -- --nocapture
  • cargo test -p utoo-ruborist service::api::tests::test_build_deps_options_creation -- --nocapture
  • cargo clippy --all-targets -- -D warnings --no-deps

Split Plan

Part of the resolver stack split from source PR #3028. This follows the stateless registry cleanup after resolver-owned manifest state has replaced the global memory cache.

@elrrrrrrr elrrrrrrr added A-Pkg Manager Area: Package Manager benchmark Run pm-bench on PR labels May 21, 2026
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request removes the global MemoryCache singleton and its associated structures, including MemoryCacheInner, CacheStats, and the PackageCache type alias. The responsibility for managing in-memory manifest maps is shifted to the resolver's demand BFS loop for the duration of a resolution run, and documentation across the service and model modules has been updated to reflect this architectural change. I have no feedback to provide as there were no review comments to assess.

@elrrrrrrr elrrrrrrr force-pushed the perf/pm-split-resolver-registry-stateless branch from e77fe0b to a1e1d86 Compare May 21, 2026 19:27
@elrrrrrrr elrrrrrrr force-pushed the perf/pm-split-resolver-remove-memory-cache branch from f029690 to 0225a9c Compare May 21, 2026 19:28
@elrrrrrrr elrrrrrrr force-pushed the perf/pm-split-resolver-remove-memory-cache branch from 0225a9c to 83396aa Compare May 21, 2026 22:32
@elrrrrrrr elrrrrrrr force-pushed the perf/pm-split-resolver-registry-stateless branch 2 times, most recently from 2d30f46 to bdd2790 Compare May 21, 2026 23:09
@elrrrrrrr elrrrrrrr force-pushed the perf/pm-split-resolver-remove-memory-cache branch from 83396aa to 8962d83 Compare May 21, 2026 23:09
@elrrrrrrr elrrrrrrr force-pushed the perf/pm-split-resolver-remove-memory-cache branch from 8962d83 to 4da37f1 Compare May 21, 2026 23:39
@elrrrrrrr elrrrrrrr force-pushed the perf/pm-split-resolver-registry-stateless branch from bdd2790 to 44add1d Compare May 21, 2026 23:39
@github-actions
Copy link
Copy Markdown

📊 pm-bench-phases · 1d66ffe · linux (ubuntu-latest)

Workflow run — ant-design

PMs: utoo (this branch) · utoo-npm (latest published) · bun (latest)

npmjs.org

npmmirror.com: no output captured.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-Pkg Manager Area: Package Manager benchmark Run pm-bench on PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant