Sebenarnya ada beberapa metode yang lebih cepat untuk merepresentasikan angka floating point secara akurat sebagai string, salah satunya adalah Grisu, oleh Florian Loitsch .
Repo github ini
membandingkan beberapa algoritme dalam C dan C++, dan berisi kode sumber untuk metode Grisu2 di C
, yang diklaimnya 5,7x lebih cepat dari sprintf
.
Namun, penulis repo yang sama (Milo Yip ) menyediakan implementasi header tunggal C++-nya sendiri yang diklaim 9,1x lebih cepat, mungkin karena lebih banyak fungsi yang sepenuhnya sejajar. Saya percaya porting kode ini ke C seharusnya sepele, karena tidak menggunakan sintaks C++ khusus.