Commit 40e16e0
perf(gfql): route engine=auto to native polars for polars-frame graphs
resolve_engine(AUTO) maps polars frames to PANDAS (it predates
Engine.POLARS), so g.gfql(query) on a polars-frame graph silently
bridged to the generic pandas path: ~3-13x slower on cypher point
queries and pandas frames out. Route AUTO to the native polars engine;
an honest NotImplementedError (unsupported shape) falls back to the
legacy AUTO path — allowed because the user did not pin an engine.
Frames in = frames out: AUTO results on polars graphs are now polars.
Repro: 2k-node polars graph, seeded 1-hop cypher — AUTO 25.0ms/pandas
out before, 9.3ms/polars out after (engine='polars' = 8.8ms); polars-NIE
shapes (shortestPath) still answer via the pandas fallback.
Fixes the q5 finding in plans/gfql-benchmark-numbers (inferred-engine
13x penalty).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y6dQEcjdazEnzuvuwf73ZL1 parent 233b64c commit 40e16e0
1 file changed
Lines changed: 18 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1808 | 1808 | | |
1809 | 1809 | | |
1810 | 1810 | | |
| 1811 | + | |
| 1812 | + | |
| 1813 | + | |
| 1814 | + | |
| 1815 | + | |
| 1816 | + | |
| 1817 | + | |
| 1818 | + | |
| 1819 | + | |
| 1820 | + | |
| 1821 | + | |
| 1822 | + | |
| 1823 | + | |
| 1824 | + | |
| 1825 | + | |
| 1826 | + | |
| 1827 | + | |
| 1828 | + | |
1811 | 1829 | | |
1812 | 1830 | | |
1813 | 1831 | | |
| |||
0 commit comments