Saved in:
| Main Authors: | , |
|---|---|
| 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 |