When moving values from a producer to a consumer, we utilize crate::utils::transport::transport function.
It contains branching depending on the type of the field that is being transported.
In most of the cases, we iterate over an array (or multiple arrays), which means that fields repeat a lot.
It would (probably) be much more performant to have a transporter function instead, that would be specialized for a specific type. These functions would be created prior to iteration over the arrays.
In the case of converting rows into RecordBatch, we could have these functions in an array.
When moving values from a producer to a consumer, we utilize
crate::utils::transport::transport
function.It contains branching depending on the type of the field that is being transported. In most of the cases, we iterate over an array (or multiple arrays), which means that fields repeat a lot.
It would (probably) be much more performant to have a transporter function instead, that would be specialized for a specific type. These functions would be created prior to iteration over the arrays.
In the case of converting rows into RecordBatch, we could have these functions in an array.