This PR removes SizedBatch, allowing significant code simplification. It also fixes correctness for products of two VectorBatches.
It looks like MaskedBatch is at least as fast and simple as SizedBatch for every operation other than (not yet implemented) conversion to and from CatBatch or another packed format (where we need a cumulative sum of sizes). Unlike SizedBatch, it also allows cheap _rezero, so it's better for broadcast calls with non-zero-preserving functions.
This PR removes
SizedBatch
, allowing significant code simplification. It also fixes correctness for products of twoVectorBatch
es.It looks like
MaskedBatch
is at least as fast and simple asSizedBatch
for every operation other than (not yet implemented) conversion to and fromCatBatch
or another packed format (where we need a cumulative sum ofsizes
). UnlikeSizedBatch
, it also allows cheap_rezero
, so it's better forbroadcast
calls with non-zero-preserving functions.