Na verdade, existem vários métodos mais rápidos para representar com precisão números de ponto flutuante como strings, um deles é Grisu, por Florian Loitsch .
Este repositório do github compara vários algoritmos em C e C++ e contém o código-fonte para o método Grisu2 em C , que ele afirma ser 5,7x mais rápido que
sprintf
. No entanto, o autor do mesmo repositório (Milo Yip ) fornece sua própria implementação de cabeçalho único em C++, que se afirma ser 9.1x mais rápida, presumivelmente porque mais funções são completamente embutidas. Acredito que portar esse código para C deve ser trivial, pois não usa nenhuma sintaxe C++ especial.