diff options
author | 2023-10-26 20:37:40 +0200 | |
---|---|---|
committer | 2023-10-26 20:42:51 +0200 | |
commit | c80751c8ec35aab8b3a2bfaf96e4ca82e29815a0 (patch) | |
tree | 61e068e0454d3a290dc7bb4ad09e42050b0b2145 /subprojects/language-semantics/src | |
parent | chore(deps): dedupe Yarn dependencies (diff) | |
download | refinery-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/language-semantics/src')
0 files changed, 0 insertions, 0 deletions