Parsing Gigabytes of JSON per Second
arXiv:1902.08318 · doi:10.1007/s00778-019-00578-5
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.
software: https://github.com/lemire/simdjson
References in corpus (2)
Cited by in corpus (10)
- Base64 encoding and decoding at almost the speed of a memory copy
- Number Parsing at a Gigabyte per Second
- ParPaRaw: Massively Parallel Parsing of Delimiter-Separated Raw Data
- Validating UTF-8 In Less Than One Instruction Per Byte
- On-Demand JSON: A Better Way to Parse Documents?
- Parsing Millions of URLs per Second
- Advanced LPeg techniques: A dual case study approach
- Scanning HTML at Tens of Gigabytes per Second on ARM Processors
- CIAO: An Optimization Framework for Client-Assisted Data Loading
- Efficient Specialized Spreadsheet Parsing for Data Science