提高ATOI()的性能
在Andrei Alexandrescu在他的演講中的“編寫快速代碼”中的建議:: Dive 2015會議上,我試圖為Atoi()提供更快的等效速度,但最大程度地提高了向後的兼容性。
您使用ATOI()具有舊版代碼,以改善字符串解析性能。如果保證輸入的格式,例如未簽名,則非常容易地製作專業的字符串 - > int解析例程,並且恰好四位數。但是,在某些情況下,發送到ATOI()的字符串來自外部客戶端,因此您不能方便地假設字符串在最後沒有啟動空間或包含非數字字符。
atoi()函數執行以下操作:
這是一個特定係統/編譯器/編譯器選項配置(完整優化)的結果。
CPU時間表:
經過的時間表:
C ++參考