Benchmark long-lived PET sessions, real concurrent resolves, and inventory scaling
維護者通常 1 天內回覆
還沒有人認領這個 Issue。
評估
- 難度
- 5/5
- 預估耗時
- 一週以上
- 新手友好度
- 35/100
- Issue 類型
- 功能
- 描述清晰度
- 基本清楚
- 活躍度
- 活躍
- 技術堆疊
- github-actions, rust
- 領域
- ci-cd, performance, testing-qa
研究方向
Start with crates/pet/tests/e2e_performance.rs and .github/workflows/perf-tests.yml, including the linked cold/warm summary and concurrent-resolve test; review dependencies #531, #529, and #530 before designing the workload. Done means CI runs reproducible long-lived and actually concurrent scenarios, catches identity replacements, reports calibrated latency/resource measurements, and documents fast versus stress invocations.
由索引模型根據 Issue 內容生成。
描述
Tracking plan: #528
Priority: P2, required before structural performance optimization. Evidence: source inspection and existing benchmark inventory.
Problem
The gated summary starts a fresh PET process for both members of every cold/warm pair. It measures persisted-cache warmth, not repeated operations in a long-lived VS Code session. The function named test_concurrent_resolve_performance actually resolves sequentially, and the workflow selects only the summary test. Inventory checks compare counts, not identities.
The exact-audit-revision release workload contains only 5 environments on Linux, 8 on Windows, and 10 on macOS. This cannot establish bounds on thread growth, cache retention, or large workspace behavior. Existing real-manager benchmarks remain valuable and should not be replaced.
Sources: cold/warm summary, sequential concurrent-resolve test, performance workflow.
Scope
Add a deterministic fixture workload alongside the installed-manager benchmark. Separate process-cold/disk-warm/same-process-warm scenarios, and exercise actual overlapping refresh/resolve/configure activity. Sweep representative inventory/workspace sizes (for example 1, 10, 100, and 1000), with expensive stress/soak variants isolated from the fast PR gate if necessary.
Measure client latency, first-result latency, peak workers/threads, subprocess counts, cache/resource growth, and retained memory where reliable platform APIs exist. Compare normalized environment/manager identities, not just counts. Keep diagnostic output privacy-safe and ensure measurement does not backpressure the timed transport.
Acceptance criteria
- CI runs a repeated-refresh workload against one server process and an actually concurrent resolve workload; test naming and selection match behavior.
- Create/delete/edit/alias-churn scenarios verify fresh, correctly identified environments in a long-lived process.
- Inventory assertions detect one environment disappearing and another replacing it even when counts match.
- Size/concurrency sweeps produce usable latency and resource measurements with explicit sample counts and reproducible fixtures.
- Resource expectations/budgets are calibrated from measurements rather than arbitrary performance claims or unstable host-wide counters.
- Fast deterministic checks remain PR-friendly; longer stress runs have a documented invocation and CI schedule/entry point.
Dependencies
Depends on #531 for accurate timing definitions and #529 for reliable process teardown. Reuse the subprocess fixtures/cleanup contract from #530. Outputs establish the baseline for bounded scheduling, output-lock isolation, and Poetry indexing under #528.
- 主要語言
- Rust
- 星號
- 207
- 分支
- 45
- 平均合併
- 1 天 4 小時
- 30 天內合併 PR
- 18
環境準備
在瀏覽器裡用你自己的 GitHub 帳號啟動這個專案的開發容器。
- 沒有 Dockerfile 或 Docker Compose 檔案
- 沒有 Pull Request 範本
- 沒有貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
microsoft/python-environment-tools 的其他 Issue
-
pet server logs warnings as ANSI-colored stderr, shown as errors可能已有人在做 @karthiknadig 今天認領。 未關閉bug
microsoft/python-environment-tools#571 · 已指派 1 人 ·
維護者通常 1 天內回覆
-
Free-threaded python3.13t interpreters are not discovered on Linux可能已有人在做 @karthiknadig 今天認領。 未關閉bug
microsoft/python-environment-tools#569 · 已指派 1 人 ·
維護者通常 1 天內回覆
-
uv's Windows launchers in ~/.local/bin are reported as duplicate global Pythons可能已有人在做 @karthiknadig 今天認領。 未關閉bug
microsoft/python-environment-tools#567 · 1 則留言 · 已指派 1 人 ·
維護者通常 1 天內回覆
-
enhancement
難度 5/5 一週以上 新手友好度 35/100
microsoft/python-environment-tools#537 ·
維護者通常 1 天內回覆
-
debt
難度 5/5 一週以上 新手友好度 25/100
microsoft/python-environment-tools#538 · 1 則留言 ·
維護者通常 1 天內回覆
查看 microsoft/python-environment-tools 的全部 Issue
相似的 Issue
-
難度 1/5 1 小時以內 新手友好度 74/100
-
review-drift
難度 2/5 1-3 小時 新手友好度 78/100
oxidecomputer/hansei#14 ·
-
難度 2/5 1-3 小時 新手友好度 76/100
rubys/roundhouse#444 ·
維護者通常 1 天內回覆
-
Published hardy-bpa-server image is built without the file-cla feature可能已有人在做 @EmbryoSpace 今天認領。 未關閉
難度 2/5 1-3 小時 新手友好度 85/100
ricktaylor/hardy#755 ·
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 62/100
semaphoreci/docker-images#46 · 1 則留言 ·