Parsing Gigabytes of JSON per Second

Geoff Langdale, Daniel Lemire
2/22/2019
cs.DBcs.PF

Official code: simdjson/simdjson (24,442 stars, Apache-2.0, last commit 2026-10-20). 1 more implementation below.

Abstract

JavaScript Object Notation or JSON is a ubiquitous data exchange format on the Web. Ingesting JSON documents can become a performance bottleneck due to the sheer volume of data. We are thus motivated to make JSON parsing as fast as possible. Despite the maturity of the problem of JSON parsing, we show that substantial speedups are possible. We present the first standard-compliant JSON parser to process gigabytes of data per second on a single core, using commodity processors. We can use a quarter or fewer instructions than a state-of-the-art reference parser like RapidJSON. Unlike other validating parsers, our software (simdjson) makes extensive use of Single Instruction, Multiple Data (SIMD) instructions. To ensure reproducibility, simdjson is freely available as open-source software under a liberal license.

View on arXivView PDF

Code Implementations(2)

simdjson/simdjsonOfficial100%
Apache-2.0

Parsing gigabytes of JSON per second : used by Facebook/Meta Velox, the Node.js runtime, ClickHouse, WatermelonDB, Apache Doris, Milvus, StarRocks

24,4421,320C, C++Mar 23, 20184 days agoApache-2.0
aarch64arm64avx2avx512c-plus-plus+15 more

Detailed experiments over simdjson for VLDB article (2019) and future work

205Shell, PythonMay 29, 20196 years ago

Similar Papers

Cite this paper

@article{langdale2019parsing,
  title  = {Parsing Gigabytes of JSON per Second},
  author = {Geoff Langdale and Daniel Lemire},
  year   = {2019},
  eprint = {1902.08318},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/1902.08318}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/1902.08318.svg)](https://codeofpaper.com/paper/1902.08318)

Discussion