递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 10346|回复: 17
打印 上一主题 下一主题

[视窗] 发现文本到长整数 ()和文本到整数 ()有趣的问题

[复制链接]

53

主题

628

帖子

2662

积分

禁止发言

积分
2662
跳转到指定楼层
楼主
发表于 2023-10-29 22:46:24 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

28

主题

2218

帖子

8018

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
8018
沙发
发表于 2023-10-29 23:45:23 | 只看该作者
你的测试代码有问题吧,单单计次循环那么多次就不可能是 0 毫秒,C++ 的编译优化会将你的无效代码删除掉。
使用 #pragma optimize( "", off) 禁用编译优化后,实际性能差距应该是 5 倍左右。

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

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

使用道具 举报

38

主题

668

帖子

3349

积分

论坛元老

Rank: 8Rank: 8

积分
3349
板凳
发表于 2023-10-30 09:02:43 | 只看该作者
大佬厉害
回复

使用道具 举报

54

主题

400

帖子

2687

积分

贵宾

Rank: 9Rank: 9Rank: 9

积分
2687
地板
发表于 2023-10-30 09:07:49 | 只看该作者
这么细节的地方都被你发现了
长期从事编程教学课程研发,联系QQ:332690958
回复

使用道具 举报

52

主题

619

帖子

3430

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
3430
5#
发表于 2023-10-30 09:14:10 | 只看该作者
占用时间应该是那个强转INT带来的
回复

使用道具 举报

0

主题

34

帖子

1045

积分

金牌会员

Rank: 6Rank: 6

积分
1045
6#
发表于 2023-10-30 09:42:43 | 只看该作者
这么细节的地方都被你发现了
回复

使用道具 举报

29

主题

295

帖子

3115

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
3115
7#
发表于 2023-10-30 10:02:43 | 只看该作者
666
回复

使用道具 举报

28

主题

2218

帖子

8018

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
8018
8#
发表于 2023-10-30 11:35:58 | 只看该作者
昨天发的回复还没放出来,这里简单给个结论,你的测试代码没考虑编译优化,实际性能差距是5倍左右
回复

使用道具 举报

52

主题

619

帖子

3430

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
3430
9#
发表于 2023-10-30 11:42:40 | 只看该作者
X大佬出结果就定案了,强转要占时间,不过相差几十倍,是不大可能
回复

使用道具 举报

53

主题

628

帖子

2662

积分

禁止发言

积分
2662
10#
 楼主| 发表于 2023-10-30 12:19:03 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2025-5-3 08:32 , Processed in 0.094368 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表