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 (sous presse). Converting binary floating-point numbers to shortest decimal strings: An experimental review. Software: Practice and Experience.

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 : Accepté (sous presse)
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.
Déposant: Lemire, Daniel
Responsable : Daniel Lemire
Dépôt : 16 janv. 2026 15:42
Dernière modification : 16 janv. 2026 15:42

Actions (connexion requise)

RÉVISER RÉVISER