-
Notifications
You must be signed in to change notification settings - Fork 59
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Various efficiency improvements for the query planner #1724
Various efficiency improvements for the query planner #1724
Conversation
Signed-off-by: Johannes Kalmbach <[email protected]>
Signed-off-by: Johannes Kalmbach <[email protected]>
…' into query-planner-small-improvements
Signed-off-by: Johannes Kalmbach <[email protected]>
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #1724 +/- ##
==========================================
+ Coverage 89.86% 89.91% +0.04%
==========================================
Files 389 393 +4
Lines 37308 37574 +266
Branches 4204 4224 +20
==========================================
+ Hits 33527 33783 +256
- Misses 2485 2495 +10
Partials 1296 1296 ☔ View full report in Codecov by Sentry. |
Signed-off-by: Johannes Kalmbach <[email protected]>
Conformance check passed ✅No test result changes. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome, thanks a lot. Two minor changes (one is a suggestion)
Signed-off-by: Johannes Kalmbach <[email protected]>
…' into query-planner-small-improvements
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great!
Quality Gate passedIssues Measures |
These are rather minor changes in the code, but with a very significant effect for "large" queries (that is, queries with many operations):
std::optional<const TripleGraph>
byboost::optional<const TripleGraph&>
; before this change, many copies ofTripleGraph
s were made for large queries; note thatstd::optional
does not work forconst &
Operation::getCacheKey
Operation::getResultWidth
setLimit
for a wholeQueryExecutionTree
(before: only for an individualOperation
); this invalidates the cache key and the result width