Expression evaluation accounts for over a third of incremental query evaluation for certain performance benchmarks
We should introduce a more optimized version of ColumnOp. This more optimal representation should have (1) row positions instead of field names, and (2) a flatter structure.
Every variant of Query that contains references to ColumnOp, we should replace with this new representation. Specifically the IndexJoin and Select variants.
We can also add a variant LogCmp(OpLogic, OpCmp, ColList, Vec<AlgebraicValue>), which is even more optimal for the common case of a = x && b = y, ... case.
Expression evaluation accounts for over a third of incremental query evaluation for certain performance benchmarks
We should introduce a more optimized version of
ColumnOp
. This more optimal representation should have (1) row positions instead of field names, and (2) a flatter structure.Every variant of
Query
that contains references toColumnOp
, we should replace with this new representation. Specifically theIndexJoin
andSelect
variants.