Issue #22256 has been reported by AndrewDile (Andrew Dile). ---------------------------------------- Feature #22256: Replace missing/dtoa.c with a uscale-based algorithm. Faster, smaller footprint, and fixes a rounding error. https://bugs.ruby-lang.org/issues/22256 * Author: AndrewDile (Andrew Dile) * Status: Open ---------------------------------------- I'm proposing a replacement of `missing/dtoa.c` with a faster, leaner, more correct algorithm. I have [a PR](https://github.com/ruby/ruby/pull/18373) open as a proposed solution, which also provides more details to the origin of the algorithm and its performance compared to `missing/dtoa.c`. This would solve a few edge case rounding issues that currently happen during `Float#to_s`, and it would significantly increase the performance of `Float#to_s` and `String#to_f`, all while unifying both formatting (shortest-width and fixed-width) and parsing under one primitive. -- https://bugs.ruby-lang.org/