GFQL perf follow-ups from the #1905 trail-correction work (pandas ~2%, polars q8@20k)
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Refactorización
- Claridad
- Bastante claro
- Estado de actividad
- Tranquilo
- Área
- data, performance
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- Python
- Estrellas
- 2.6k
- Forks
- 229
- Merge medio
- 1 d 5 h
- PR fusionados (30 d)
- 99
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de graphistry/pygraphistry
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
graphistry/pygraphistry#2171 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
graphistry/pygraphistry#1965 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
graphistry/pygraphistry#1208 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
graphistry/pygraphistry#966 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
graphistry/pygraphistry#824 ·
Los mantenedores suelen responder en 1 día
Todos los issues de graphistry/pygraphistry
Issues similares
-
needs-area-label
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
Los mantenedores suelen responder en 2 días
-
enhancement good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Official-Space-AI/OpenPhysGraspGen#114 ·
Los mantenedores suelen responder en 2 días
-
changelog investigate
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
ramnes/notion-sdk-py#441 ·
-
qa_bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
NVIDIA-NeMo/Gym#5644 ·
Los mantenedores suelen responder en 2 días
-
BUG: catalog database credentials printed to logs at startupPosiblemente ocupada @cjboyle la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
Los mantenedores suelen responder en 1 día