呵呵仙8 发表于 2023-10-29 22:46:24

Xelloss0618 发表于 2023-10-29 23:45:23

你的测试代码有问题吧,单单计次循环那么多次就不可能是 0 毫秒,C++ 的编译优化会将你的无效代码删除掉。
使用 #pragma optimize( "", off) 禁用编译优化后,实际性能差距应该是 5 倍左右。

_ttoi 是 C 的函数,速度已经算好了,C++11 的 std::stoi 更是慢得出奇。

长整数不能无脑强制转换成 32 位整数,因为转换的原则是直接砍掉后面 4 个字节。
比如长整数值 5000000000 (0x00F2052A01000000),强转到整数后是 705032704 (0x00F2052A)。

山梦 发表于 2023-10-30 09:02:43

大佬厉害

CPUCN 发表于 2023-10-30 09:07:49

这么细节的地方都被你发现了

suyan 发表于 2023-10-30 09:14:10

占用时间应该是那个强转INT带来的

kantal 发表于 2023-10-30 09:42:43

这么细节的地方都被你发现了

IvzCX 发表于 2023-10-30 10:02:43

666

Xelloss0618 发表于 2023-10-30 11:35:58

昨天发的回复还没放出来,这里简单给个结论,你的测试代码没考虑编译优化,实际性能差距是5倍左右

suyan 发表于 2023-10-30 11:42:40

X大佬出结果就定案了,强转要占时间,不过相差几十倍,是不大可能

呵呵仙8 发表于 2023-10-30 12:19:03

页: [1] 2
查看完整版本: 发现文本到长整数 ()和文本到整数 ()有趣的问题