aboutsummaryrefslogtreecommitdiffstats
path: root/subprojects/store-query-interpreter/src/main
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <kristof@marussy.com>2023-10-26 20:37:40 +0200
committerLibravatar Kristóf Marussy <kristof@marussy.com>2023-10-26 20:42:51 +0200
commitc80751c8ec35aab8b3a2bfaf96e4ca82e29815a0 (patch)
tree61e068e0454d3a290dc7bb4ad09e42050b0b2145 /subprojects/store-query-interpreter/src/main
parentchore(deps): dedupe Yarn dependencies (diff)
downloadrefinery-c80751c8ec35aab8b3a2bfaf96e4ca82e29815a0.tar.gz
refinery-c80751c8ec35aab8b3a2bfaf96e4ca82e29815a0.tar.zst
refinery-c80751c8ec35aab8b3a2bfaf96e4ca82e29815a0.zip
refactor(interpreter): aggreagator batching
Optimize calls to potentially costly aggregators by only extracting the value from a stateful aggregator when it is needed by subsequent RETE nodes. This optimization only works with timeless evaluation and delete-and-rederive evaluation disabled, i.e., only for queries without any recursion. Potentially, it could also be extended to other mailboxes if needed. We replace the BehaviorChangingMailbox of ColumnAggregatorNode with a DefaultMailbox to force update batching. Batched updates only extract the value from the aggregator when it has been already updated with all received tuples.
Diffstat (limited to 'subprojects/store-query-interpreter/src/main')
0 files changed, 0 insertions, 0 deletions