⚠️ Maintenance r-Libre

Des travaux de maintenance entraîneront une indisponibilité de la plateforme le lundi 04 mai 2026 (toute la journée).
Merci de votre compréhension.

LogoTeluq
English
Logo
Répertoire de publications
de recherche en accès libre

Fast Forgiving Base64 Decoding with SIMD Instructions [r-libre/4275]

Lemire, Daniel ORCID: https://orcid.org/0000-0003-3306-6922 (sous presse). Fast Forgiving Base64 Decoding with SIMD Instructions. ACM Transactions on Architecture and Code Optimization.

Fichier(s) associé(s) à ce document :
[thumbnail of TACO-2026-292-final-noacmref.pdf]  PDF - TACO-2026-292-final-noacmref.pdf
Contenu du fichier : Document de travail
Licence : Creative Commons CC BY.
 
Catégorie de document : Articles de revues
Évaluation par un comité de lecture : Oui
Étape de publication : Accepté (sous presse)
Résumé : 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-base64 rules, requires decoders to ignore ASCII whitespace while rejecting other non-alphabet characters. Prior SIMD Base64 decoders assume whitespace-free input. We present a block-oriented decoding algorithm that removes whitespace inside the SIMD loop: clean 64-character blocks are decoded directly, while blocks with ignorable characters are compacted into a small stack buffer. We provide implementations for x64 (SSSE3 through AVX-512 VBMI2), ARM NEON, and LoongArch. Our C++ decoder reaches up to 94 GB/s on recent AMD Zen 5 processors. In Node.js 25, integration of our decoder raises Uint8Array.fromBase64 throughput by up to 6x compared with Node.js 19. The implementation has been adopted by major browsers and JavaScript runtimes.
Déposant: Lemire, Daniel
Responsable : Daniel Lemire
Dépôt : 13 oct. 2026 18:03
Dernière modification : 13 oct. 2026 18:03

Actions (connexion requise)

RÉVISER RÉVISER

--
R
-
L
I
B
R
E
-
P
R
E
P
R
O
D
--
--
R
-
L
I
B
R
E
-
P
R
E
P
R
O
D
--