← All benchmarksSQL
Parquet vs CSV: 3x smaller and 3.6x faster in DuckDB
How much smaller and faster is Parquet than CSV?
Converting a 30-million-row CSV (1.35 GB) to Parquet with zstd gave a 0.43 GB file, and the same query dropped from 6.3 s to 1.8 s in DuckDB. The conversion took 25 s.
Results
| CSV | 1.35 GB, 6.3 s/query |
|---|---|
| Parquet (zstd) | 0.43 GB, 1.8 s/query |
How it was measured
Best of 3 runs of a group-by query.
COPY (SELECT * FROM read_csv('orders.csv')) TO 'orders.parquet' (FORMAT parquet, COMPRESSION zstd)Why
Parquet is columnar and compressed, so queries read fewer bytes.
When this does not apply
Conversion costs time up front.
Environment
MacBook Air (Apple silicon, 8 cores), macOS. Measured 2026-10-12.
Source: shorts/demo-ticket/cost/pq.py in my content-engine repository. Treat any single run as a direction; re-run it on your hardware.
By Josué Barros, senior software engineer (full-stack, data and AI).