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

Base64 encoding and decoding at almost the speed of a memory copy [r-libre/1772]

Muła, Wojciech et Lemire, Daniel (2020). Base64 encoding and decoding at almost the speed of a memory copy. Software: Practice and Experience, 50 (2), 89-97. https://doi.org/10.1002/spe.2777

Fichier(s) associé(s) à ce document :
[img]  PDF - 1910.05109.pdf
Contenu du fichier : Manuscrit soumis (avant évaluation)
Licence : Creative Commons CC BY.
 
Catégorie de document : Articles de revues
Évaluation par un comité de lecture : Oui
Étape de publication : Publié
Résumé : Many common document formats on the Internet are text-only such as email (MIME) and the Web (HTML, JavaScript, JSON and XML). To include images or executable code in these documents, we first encode them as text using base64. Standard base64 encoding uses 64~ASCII characters: both lower and upper case Latin letters, digits and two other symbols. We show how we can encode and decode base64 data at nearly the speed of a memory copy (memcpy) on recent Intel processors, as long as the data does not fit in the first-level (L1) cache. We use the SIMD (Single Instruction Multiple Data) instruction set AVX-512 available on commodity processors. Our implementation generates several times fewer instructions than previous SIMD-accelerated base64 codecs. It is also more versatile, as it can be adapted---even at runtime---to any base64 variant by only changing constants.
Adresse de la version officielle : https://onlinelibrary.wiley.com/doi/10.1002/spe.27...
Déposant: Lemire, Daniel
Responsable : Daniel Lemire
Dépôt : 23 oct. 2019 19:26
Dernière modification : 13 oct. 2020 19:11

Actions (connexion requise)

RÉVISER RÉVISER