Saved in:
Bibliographic Details
Main Authors: Gareau, Jaël Champagne, Lemire, Daniel
Format: Preprint
Published: 2026
Subjects:
Online Access:https://arxiv.org/abs/2603.06581
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866910043963654144
author Gareau, Jaël Champagne
Lemire, Daniel
author_facet Gareau, Jaël Champagne
Lemire, Daniel
contents 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.
format Preprint
id arxiv_https___arxiv_org_abs_2603_06581
institution arXiv
publishDate 2026
record_format arxiv
spellingShingle Converting Binary Floating-Point Numbers to Shortest Decimal Strings: An Experimental Review
Gareau, Jaël Champagne
Lemire, Daniel
Hardware Architecture
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.
title Converting Binary Floating-Point Numbers to Shortest Decimal Strings: An Experimental Review
topic Hardware Architecture
url https://arxiv.org/abs/2603.06581