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

Converting binary floating-point numbers to shortest decimal strings: An experimental review [r-libre/3943]

Champagne Gareau, Jaël et Lemire, Daniel (2026). Converting binary floating-point numbers to shortest decimal strings: An experimental review. Software: Practice and Experience, 56 (4). https://doi.org/10.1002/spe.70056

Fichier(s) associé(s) à ce document :
[img]  PDF - floatserialize.pdf
Contenu du fichier : Version finale (non publiée)
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é : 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. Engineers have perfected many algorithms for producing such accurate, short strings. We present an empirical comparison across diverse hardware architectures and datasets. Cutting-edge techniques like Schubfach and Dragonbox achieve up to a tenfold speedup over Steele and White's Dragon4, executing as few as 210 instructions per conversion compared to Dragon4's 1500-5000 instructions. Often per their specification, none of the implementations we surveyed consistently produced the shortest possible strings-some generate outputs up to 30% longer than optimal. We find that standard library implementations in languages such as C++ and Swift execute significantly more instructions than the fastest methods, with performance gaps varying across CPU architectures and compilers. We suggest some optimization targets for future research.
Adresse de la version officielle : https://onlinelibrary.wiley.com/doi/10.1002/spe.70...
Déposant: Lemire, Daniel
Responsable : Daniel Lemire
Dépôt : 16 janv. 2026 15:42
Dernière modification : 06 mars 2026 17:24

Actions (connexion requise)

RÉVISER RÉVISER