Data engineering·Cost, layout and query performance
the engine processes a thousand values of one column per operation instead of one row at a time through a chain of function calls.
Vectorised execution
Also calledbatch-at-a-time processing, columnar execution
Executing operators over batches of column values rather than row by row, which keeps CPU pipelines full and makes use of wide instructions. It is the main reason modern analytical engines are an order of magnitude faster than older row-at-a-time ones on the same hardware. It also explains why user-defined functions can be so disproportionately slow: a scalar function breaks out of the vectorised path for every row.