perf(column): bulk-append fast paths for Array and LowCardinality#1863
perf(column): bulk-append fast paths for Array and LowCardinality#1863vvminashkin wants to merge 2 commits into
Conversation
f22c4e2 to
730de76
Compare
SummaryAdds bulk-append fast paths to Must fix
Should fix
Nits
Verdict
|
On (2): the state is invalid either way - caller has to discard on any error, so it doesn't matter. On (1): fair point. I can add a doc comment on Interface.Append saying implementations must not mutate state when returning ColumnConverterError, since the retry path in both appendRowPlain and appendBulkPlain depends on it. Want me to add it? |
Summary
When doing Append for Array or LowCardinality column types, the library calls AppendRow for each element, which in turn causes a new allocation per element. This PR fixes the issue by introducing a typed appendBulk methods, reducing the number of allocations per Append call to a constant.