[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.)



More information about the libcxx-commits mailing list