4 citations · 6 across the 6 of their papers we have counts for
9 papers
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…
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…
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.…
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…
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…
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…
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…
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…
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…