fn assign_fields(
fields: Vec<(usize, Vec<(usize, ArrowColumnWriter)>)>,
costs: &[Duration],
parallelism: usize,
) -> Vec<Vec<(usize, Vec<(usize, ArrowColumnWriter)>)>>Expand description
Splits fields into at most parallelism tasks, giving the most expensive
field to the least loaded task first. Fields cost nothing before any row
group is measured, which spreads them evenly.