Releases: Arnonrgo/lpg
Release list
v3.1.0
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
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)