Benchmark long-lived PET sessions, real concurrent resolves, and inventory scaling
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- github-actions, rust
- Lĩnh vực
- ci-cd, performance, testing-qa
Hướng nghiên cứu
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.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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.
- Ngôn ngữ chính
- Rust
- Star
- 207
- Fork
- 45
- Merge trung bình
- 3 ngày 12 giờ
- Pull request đã merge (30 ngày)
- 11
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của microsoft/python-environment-tools
-
enhancement
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
-
debt
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
microsoft/python-environment-tools#538 · 1 bình luận ·
-
enhancement
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
-
debt
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
-
debt
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
microsoft/python-environment-tools#534 · 1 bình luận ·
Tất cả issue của microsoft/python-environment-tools
Issue tương tự
-
Browser (wasm) relay client cannot connect to relays whose URL has a trailing-dot FQDN hostname Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
n0-computer/iroh#4550 ·
-
impl detach for native Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
paritytech/zombienet-sdk#591 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
farion1231/cc-switch#7638 · 1 bình luận ·
-
onnx-ir re-exports ModelProto and GraphProto but not NodeProto, AttributeProto and AttributeType Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100