En realidad, existen varios métodos más rápidos para representar con precisión números de punto flotante como cadenas, uno de ellos es Grisu, por Florian Loitsch .
Este repositorio de github
compara varios algoritmos en C y C++, y contiene el código fuente para el método Grisu2 en C
, que afirma ser 5,7 veces más rápido que sprintf
.
Sin embargo, el autor del mismo repositorio (Milo Yip ) proporciona su propia implementación de encabezado único de C++ que, según se afirma, es 9.1 veces más rápida, presumiblemente porque la mayoría de las funciones están completamente en línea. Creo que portar este código a C debería ser trivial, ya que no usa ninguna sintaxis especial de C++.