I built a CSV parser to try Go 1.26's new SIMD package
Details
- External ID
- 46780384
- Source
- HN
- Company
- —
- Product
- I built a CSV parser to try Go 1.26's new SIMD package
- Website domain
- github.com
- Launched
- Jan. 27, 2026
- Cohort
- —
- Upvotes
- 8
- Upvotes percentile
- 0.41699604743083
- Tags
- —
- Fetched at
- Sept. 7, 2026, 9:25 p.m.
- Updated at
- Sept. 7, 2026, 9:25 p.m.
Description
Hey HN,A CSV parser using Go 1.26's experimental simd/archsimd package.I wanted to see what the new SIMD API looks like in practice. CSV parsing is mostly "find these bytes in a buffer"—load 64 bytes, compare, get a bitmask of positions. The interesting part was handling chunk boundaries correctly (quotes and line endings can split across chunks).- Drop-in replacement for encoding/csv - ~20% faster for unquoted data on AVX-512 - Quoted data is slower (still optimizing) - Scalar fallback for non-AVX-512Requires GOEXPERIMENT=simd.https://github.com/nnnkkk7/go-simdcsvFeedback on edge cases or the SIMD implementation welcome.
Enrichment
- Theme
- niche developer utilities and toolchains
- Vertical
- Horizontal
- Function
- Dev tools
- Audience
- Developer
- AI stance
- Not AI
- Project type
- Hobby / open-source project
- Normalized one-liner
- csv parser with simd
- Manually corrected
- False
Could you build this?
No Implementing an ultra-low-level CSV parser using experimental hardware SIMD intrinsics requires deep systems programming and processor architecture knowledge.
What it would actually take: It requires hand-crafted vectorization algorithms using AVX-512/NEON intrinsics (via Go's experimental archsimd package) to process 64-byte chunks in parallel, manage bitmasks, and solve the carry-over problem for quoted strings and chunk boundaries. The developer needs deep expertise in low-level CPU instruction sets, cache alignment, and high-performance compiler-level optimizations.
Discussion
5 comments analyzed.
Competitors mentioned: Zig CSV parser, Rust SIMD CSV parser (csimdv-rs), C# SIMD CSV parser (Sep), simdjson
Concerns raised: 64-byte buffer degrades performance on some CPUs, CPU-specific tuning required for optimal results, SIMD/archsimd lacks CLMUL instruction support
Feature requests: Benchmark comparison with C# SIMD CSV parser, Field-based iteration option to avoid copying/dynamic allocation
Competitors
Other products that read as similar to this one — 55 launches clear the similarity bar, closest 8 shown.
Attention rank: #24 of 56 (itself plus its competitors, highest first — normalized so YC and Product Hunt are compared fairly).
Launched 84 days after the earliest competitor.
- The fastest JSON parser for Go · hn · 2026-07-31 · 7 upvotes · similarity 0.42
- jsoncsvonline · ph · 2026-09-10 · 1 upvotes · similarity 0.42
- go-binsync · hn · 2026-08-27 · 5 upvotes · similarity 0.41
- SIMD Viterbi Decoder in Rust · hn · 2026-08-04 · 64 upvotes · similarity 0.41
- Go-Highway · hn · 2026-01-02 · 29 upvotes · similarity 0.41
- Overfitted a 900KB Transformer to Compress a 100MB CSV into 7MB · hn · 2026-06-23 · 112 upvotes · similarity 0.40
- CSVTools · ph · 2026-09-30 · 2 upvotes · similarity 0.40
- Magic CSV · hn · 2025-12-31 · 17 upvotes · similarity 0.39
Other launches for this product
- No other launches for this product.
Same idea, different domain
Nobody's really built a dev tools tool for Sales yet.