> TL;DR: Go's built-in encoding/csv.Read allocates string slices and strings for every single row, generating 10M+ allocations and burning 540 MB on a 5M-row file. I built go-zerocsvhttps://github.com/fikrimohammad/go-zerocsv to replace this with in-...
Background
Go channels are one of the best things about the language. But the moment you need context cancellation, error propagation, and safe concurrent shutdown all at once, a simple chan T starts asking you to write a lot of code just to use i...