I built this because I got tired of waiting for pandas to load just to peek at a CSV file. Glance handles multi-million row files in under a second with lazy parsing and SIMD optimizations.
Key features:
– Instant schema inference (detects int64, float64, currency, dates, enums)
– SQL-like filtering with numeric comparison support
– Interactive pager (like less, but CSV-aware) with search
– Auto-detects delimiters (comma, tab, pipe, semicolon)
– Multiple output formats (table, CSV, TSV, JSON)
Performance on 5M rows (307 MB):
– Display + schema: 0.09s (lazy parsing + SIMD line counting)
– Full filter + sort: 0.88s
Technical bits:
– mmap for zero-copy file access
– Flat row storage (single vector with stride, no per-row allocations)
– ARM NEON / x86 SSE2 for newline counting
– memchr fast-path for quote-free lines, state machine fallback for RFC 4180 edge cases
Built in C++20 with comprehensive tests. Works on macOS and Linux.
GitHub: https://github.com/AveryClapp/glance
Comments URL: https://news.ycombinator.com/item?id=46929364
Points: 1
# Comments: 0