C-order or F-order: which layout for column-wise NumPy reductions?
C-order vs F-order for a column-heavy reduction workload Consider a NumPy 2.x design where large 2-D float64 arrays, too big to stay in CPU cache, are produced as C-order row-major buffers. The dominant cost is a reduction along axis 0 (column-wise), repeated many times, with only occasional row-wise passes along axis 1. The documented trade-off is clear at