提高ATOI()的性能
在Andrei Alexandrescu在他的演讲中的“编写快速代码”中的建议:: Dive 2015会议上,我试图为Atoi()提供更快的等效速度,但最大程度地提高了向后的兼容性。
您使用ATOI()具有旧版代码,以改善字符串解析性能。如果保证输入的格式,例如未签名,则非常容易地制作专业的字符串 - > int解析例程,并且恰好四位数。但是,在某些情况下,发送到ATOI()的字符串来自外部客户端,因此您不能方便地假设字符串在最后没有启动空间或包含非数字字符。
atoi()函数执行以下操作:
这是一个特定系统/编译器/编译器选项配置(完整优化)的结果。
CPU时间表:
经过的时间表:
C ++参考