GFQL perf follow-ups from the #1905 trail-correction work (pandas ~2%, polars q8@20k)
Maintainer thường phản hồi trong vòng 1 ngày
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ái cấu trúc
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Ít trao đổi
- Lĩnh vực
- data, performance
Hướng nghiên cứu
Start with plans/gfql-benchmark-numbers/plan.md and review the #1907 performance investigation and its benchmark methodology. The work has three possible directions: investigate the indexed DegreeFact.self_loops shortcut, resolve the polars q8 @20k result with more benchmark slots or drop the claim, and move durable harness code to pyg-bench. Confirm scope and measurement expectations before starting; done means the selected follow-up is validated and its results are recorded.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Carried forward from the #1907 perf investigation (four passes, three board A/B rounds; full accounting in plans/gfql-benchmark-numbers/plan.md). Neither is release-blocking; both are honest debits.
1. pandas @100k carries ~+2% vs the pre-#1905 floor. Pooled per-iteration p50: floor 89.76 / prev-head 90.99 / current 91.75 on q8. This is the trail correction's absolute cost (~2.2 ms probe, _two_hop_trail_illegal_pairs) landing on a fast cell. Blocking it for pandas was measured and is worse (+1.84 ms, significant — per-block call overhead exceeds the pass saved), and five probe formulations cluster within 0.26 ms, so the pass itself is at its floor. The removable route is a soundness proof rather than a faster scan: consult a degree fact for self_loops == 0 on the matching partition ⇒ zero illegal pairs, skipping the scan entirely. Index-dependent, so it cannot fire on the board's --binding cold arm, but it would help indexed users.
2. polars q8 @20k nominally +6.7% over floor (2.39 vs 2.24 ms), p=0.11 — not resolvable at 18 slots/build. Either confirm with more slots or drop the claim; do not quote a 20k q8 delta in either direction as things stand.
3. Harness placement. The per-query harnesses written for this investigation (in-situ variant swap, lane instrumentation, formulation shoot-outs) live in a session scratchpad. Per the standing convention that benchmark CODE lives in pyg-bench and pygraphistry carries only results, they should move to pyg-bench if these measurements are meant to be durable.
Context for anyone picking this up: the residual cost IS the correctness fix — the count is one bandwidth-bound re-read of both endpoint columns (five formulations within 0.126 ms, ~19.4 MB at ~16 GB/s). The only two ways to skip it are DegreeFact.self_loops (O(1), needs an index) and the bounds-proof by-product now used on the polars dense lane.
- Ngôn ngữ chính
- Python
- Star
- 2.6k
- Fork
- 229
- Merge trung bình
- 1 ngày 5 giờ
- Pull request đã merge (30 ngày)
- 99
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
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 graphistry/pygraphistry
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
graphistry/pygraphistry#2171 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
graphistry/pygraphistry#1965 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
graphistry/pygraphistry#1208 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
graphistry/pygraphistry#966 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
graphistry/pygraphistry#824 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của graphistry/pygraphistry
Issue tương tự
-
HandyModRTransform.deriv3 is wrong for m > 2Có thể đã có người làm @SajalDevX đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
-
read_messages: the first read after subscribe/psubscribe returns no messages even when some are waitingCó thể đã có người làm @matheussilvano đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 80/100
The-Swarm-Corporation/swarms-framework-docs#399 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
Maintainer thường phản hồi trong vòng 1 ngày
-
bump patch
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
autowarefoundation/autoware_carla_scenario#1321 ·
Maintainer thường phản hồi trong vòng 1 ngày