Thực tế có một số phương pháp nhanh hơn để biểu diễn chính xác số dấu phẩy động dưới dạng chuỗi, một trong số chúng là Grisu, bởi Florian Loitsch .
repo github này
so sánh một số thuật toán trong C và C ++ và nó chứa mã nguồn cho phương pháp Grisu2 trong C
, mà anh ta tuyên bố là nhanh hơn 5,7 lần so với sprintf
.
Tuy nhiên, tác giả của cùng một repo ( Milo Yip ) cung cấp triển khai tiêu đề đơn C ++ của riêng mình, được cho là nhanh hơn 9,1 lần, có lẽ là vì nhiều hàm được nội tuyến hoàn toàn. Tôi tin rằng việc chuyển mã này sang C sẽ không đáng kể, vì nó không sử dụng bất kỳ cú pháp C ++ đặc biệt nào.