Il existe en fait plusieurs méthodes plus rapides pour représenter avec précision les nombres à virgule flottante sous forme de chaînes, l'une d'elles est Grisu, par Florian Loitsch .
Ce référentiel github
compare plusieurs algorithmes en C et C++, et il contient le code source pour la méthode Grisu2 en C
, qu'il prétend être 5,7 fois plus rapide que sprintf
.
Cependant, l'auteur du même repo (Milo Yip ) fournit sa propre implémentation d'en-tête unique C++ qui est censée être 9,1 fois plus rapide, probablement car un plus grand nombre de fonctions sont complètement intégrées. Je pense que le portage de ce code en C devrait être trivial, car il n'utilise aucune syntaxe C++ spéciale.