In realtà esistono diversi metodi più veloci per rappresentare accuratamente i numeri in virgola mobile come stringhe, uno di questi è Grisu, di Florian Loitsch .
Questo repository github
confronta diversi algoritmi in C e C++ e contiene il codice sorgente per il metodo Grisu2 in C
, che sostiene essere 5,7 volte più veloce di sprintf
.
Tuttavia, l'autore dello stesso repository (Milo Yip ) fornisce la propria implementazione dell'intestazione singola C++ che si dice sia 9,1 volte più veloce, presumibilmente poiché più funzioni sono completamente integrate. Credo che il porting di questo codice in C dovrebbe essere banale, poiché non utilizza alcuna sintassi C++ speciale.