[libcxx-commits] [PATCH] D70631: Microsoft's floating-point to_chars powered by Ryu and Ryu Printf
Stephan T. Lavavej via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Mon Feb 8 20:04:11 PST 2021
STL_MSFT added a comment.
> Are you fine by me commandeering this patch?
Please go ahead!
> Do you know whether there are important changes at Microsoft's side that aren't in this patch?
We've made a few changes upstream, fixing a couple of bugs in extreme corner cases and optimizing things slightly. https://github.com/microsoft/STL/commits/main/stl/inc/charconv shows what's changed.
There have been a couple of algorithmic developments very recently - for parsing (from_chars), the Eisel-Lemire algorithm is much faster than the technique used here. I would have used it if it were available back then! For formatting, Dragonbox is reportedly slightly faster, but I believe it would be a significant undertaking to replace Ryu/Ryu Printf in this code. (There's the core algorithms, the changes to implement bounds checking, and then the layer that handles fixed/general notation.)
CHANGES SINCE LAST ACTION
More information about the libcxx-commits