activity
20232026
most citedOn-Demand JSON: A Better Way to Parse Documents?

4 citations · 6 across the 6 of their papers we have counts for

collaborators

9 papers

cs.DS2026

Fast Forgiving Base64 Decoding with SIMD Instructions

Daniel Lemire

On the Internet, we use the Base64 format to represent binary data (e.g., images or cryptographic keys) as text. The ES2026 JavaScript standard, following the WHATWG forgiving-base…

cs.DS2026

Converting an Integer to a Decimal String in Under Two Nanoseconds

Jaël Champagne Gareau, Daniel Lemire

Converting binary integers to variable-length decimal strings is a fundamental operation in computing. Conventional fast approaches rely on recursive division and small lookup tabl…

cs.AR2026

Converting Binary Floating-Point Numbers to Shortest Decimal Strings: An Experimental Review

Jaël Champagne Gareau, Daniel Lemire

When sharing or logging numerical data, we must convert binary floating-point numbers into their decimal string representations. For example, the number might become 3.1415927.…

cs.DS2025

Scanning HTML at Tens of Gigabytes per Second on ARM Processors

Daniel Lemire

Modern processors have instructions to process 16 bytes or more at once. These instructions are called SIMD, for single instruction, multiple data. Recent advances have leveraged S…

cs.DS2024

Faster Positional-Population Counts for AVX2, AVX-512, and ASIMD

Robert Clausecker, Daniel Lemire, Florian Schintke

The positional population count operation pospopcnt() counts for an array of w-bit words how often each of the w bits was set. Various applications in bioinformatics, database engi…

cs.DS2024

Parsing Millions of DNS Records per Second

Jeroen Koekkoek, Daniel Lemire

The Domain Name System (DNS) plays a critical role in the functioning of the Internet. It provides a hierarchical name space for locating resources. Data is typically stored in pla…

cs.DS2024

Batched Ranged Random Integer Generation

Nevin Brackett-Rozinsky, Daniel Lemire

Pseudorandom values are often generated as 64-bit binary words. These random words need to be converted into ranged values without statistical bias. We present an efficient algorit…

cs.PL2023★ 2 cited

Parsing Millions of URLs per Second

Yagiz Nizipli, Daniel Lemire

URLs are fundamental elements of web applications. By applying vector algorithms, we built a fast standard-compliant C++ implementation. Our parser uses three times fewer instructi…

cs.DB2023★ 4 cited

On-Demand JSON: A Better Way to Parse Documents?

John Keiser, Daniel Lemire

JSON is a popular standard for data interchange on the Internet. Ingesting JSON documents can be a performance bottleneck. A popular parsing strategy consists in converting the inp…