Skip to content

Releases: Arnonrgo/lpg

Release list

v3.1.0

Choose a tag to compare

@Arnonrgo Arnonrgo released this 13 May 10:24

This release focuses on significantly improving the performance and reliability of context-based queries in LPG.
Key Highlights & Improvements:

🚀 Performance Boost for Context Queries:
Query planning (estimateNodeSize) now intelligently utilizes the nodesByContext index when filtering nodes by context. This drastically reduces full graph scans for context-only or context-primary queries.
Users can expect significant speed-ups for "match all" context queries (e.g., PatternItem{Contexts: NewStringSet("ctxA", "ctxB")}).
"Match any" context queries (e.g., PatternItem{Contexts: NewStringSet("ctxA", "ctxB"), MatchAnyContext: true}) also benefit from index usage, showing modest performance gains and improved behavior, especially when actual result sets are small.

🧪 Enhanced Benchmarking:
Added new benchmark scenarios (ContextOnly_MatchAny_CommonRare_NoStore) to better analyze and understand the performance characteristics of "match any" context queries with varying data distributions (i.e., when some queried contexts are rare).

v3.0.21

Choose a tag to compare

@Arnonrgo Arnonrgo released this 27 Sep 06:33

Forked from https://github.com/cloudprivacylabs/lpg

Main changes vs original

  • changed (most) underlying data structures to more efficient ones (4x-10x improvement for my use case YMMV)
  • added support for contexts (something in the middle between labels and properties)
  • changed the behavior of Find to work more logically (e.g. return empty on misses rather than all nodes/edges)