Skip to content

v0.50.1 - Chain Optimizations and Bugfixes

Choose a tag to compare

@lmeyerov lmeyerov released this 09 Jan 21:03
· 2296 commits to master since this release

Performance

  • GFQL / chain: Optimized backward pass for simple single-hop edges by skipping full hop() call and using vectorized merge filtering instead (~50% faster on small graphs). Added is_simple_single_hop() method on ASTEdge for optimization eligibility checks.

Fixed

  • GFQL / chain: Fixed output_min_hops/output_max_hops semantics to correctly slice output nodes/edges matching oracle behavior.
  • GFQL / chain: Fixed multi-hop detection in _is_simple_single_hop to check to_fixed_point flag and correctly identify optimization-eligible edges.
  • GFQL / enumerator: Fixed hop labeling for paths outside min_hops range to use shortest path distance instead of enumeration order.
  • Compute / hop: Fixed min_hops goal node calculation to use edge endpoints instead of lossy node merge, ensuring correct branch pruning.

Tests

  • GFQL / chain: Added 78 tests for backward pass and combine_steps optimizations covering edge cases, direction semantics, hop labels, and multi-step chains.

Full Changelog: v0.50.0...v0.50.1