Urgent.News

What's breaking now, across thousands of outlets.

Continued

Tech

Why Go's encoding/csv Burns 540MB on 5M Rows (and How I Fixed It)

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.

  • Go's encoding/csv allocates memory for []string slice and heap strings per row
  • This causes significant memory usage, up to 540MB for 5M-row file
  • go-zerocsv fixes this with in-place typed scanning and compacting buffer

Tech

CSS-in-JS Arena Bamboo, StyleX and Panda on Pixel-Identical Apps

A little context, I've been working on Contra for the last 6 years. It's a marketplace-network – an application that's comparable to the likes of LinkedIn, UpWork, and similar in terms of its surface…

  • Bamboo folds styles at build-time, reducing runtime overhead to 0.5KB
  • Bamboo ensures pre-computed class maps for dynamic variants
  • CSS-in-JS Arena benchmarks Bamboo's performance against Panda and others
Continue reading →