apache arrow
apache arrow, the columnar memory format under spark, pandas, duckdb and most of modern data processing · the go library.
what i did
working on spark’s go client i noticed that RecordFromJSON was absurdly slow, and measured it: ten thousand records, about twenty-nine megabytes, took nine minutes and thirty-two seconds, where NewJSONReader on the same input took a hundred and thirty-seven milliseconds. five thousand times. i filed the report with the benchmarks and the code to reproduce it, the maintainer, matt topol, labelled it a bug, and two days later his fix was merged. every go program ingesting json through arrow got the speed-up.
sources
- issue #448, 5000x performance degradation in RecordFromJSON vs NewJSONReader, 23 july 2025.
- pull request #449, fix(arrow/array): fix RecordFromJSON perf, merged 25 july 2025.