相同的代码64位程序比32位慢

yygang2003 2018-05-30 09:15:37
公司产品升级到64位版本后,经过测试,64位版本比32位版本慢,但是他们代码是相同的。
检查了代码,没有发现可以优化的地方,请问各位大神有没有什么办法加快64位版本的运行速度。
...全文
1185 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
draculamx 2018-07-05
  • 打赏
  • 举报
回复
引用 6 楼 yygang2003 的回复:
[quote=引用 5 楼 draculamx 的回复:]
[quote=引用 4 楼 yygang2003 的回复:]
[quote=引用 3 楼 ksrsoft 的回复:]
与代码有关系?

有关系,比如:std::map<short, UnicodeString> 在往这个map中插入数据的时候,64位比32位慢,如果将UnicodeString换成指针就快很多。[/quote]

复杂对象一般都用指针啊,用对象的话,你不知道编译器指不定什么时候就给你COPY一下。。。[/quote]

在32位下,用指针和对象速度是一样的,用对象显然方便些。[/quote]

不一定吧,当你传入的复杂对象内容很大的时候,执行拷贝,这样速度就下来了,比如你传入的字符串很长的时候
yygang2003 2018-07-05
  • 打赏
  • 举报
回复
引用 5 楼 draculamx 的回复:
[quote=引用 4 楼 yygang2003 的回复:]
[quote=引用 3 楼 ksrsoft 的回复:]
与代码有关系?

有关系,比如:std::map<short, UnicodeString> 在往这个map中插入数据的时候,64位比32位慢,如果将UnicodeString换成指针就快很多。[/quote]

复杂对象一般都用指针啊,用对象的话,你不知道编译器指不定什么时候就给你COPY一下。。。[/quote]

在32位下,用指针和对象速度是一样的,用对象显然方便些。
draculamx 2018-07-04
  • 打赏
  • 举报
回复
引用 4 楼 yygang2003 的回复:
[quote=引用 3 楼 ksrsoft 的回复:]
与代码有关系?

有关系,比如:std::map<short, UnicodeString> 在往这个map中插入数据的时候,64位比32位慢,如果将UnicodeString换成指针就快很多。[/quote]

复杂对象一般都用指针啊,用对象的话,你不知道编译器指不定什么时候就给你COPY一下。。。
yygang2003 2018-06-23
  • 打赏
  • 举报
回复
引用 3 楼 ksrsoft 的回复:
与代码有关系?

有关系,比如:std::map<short, UnicodeString> 在往这个map中插入数据的时候,64位比32位慢,如果将UnicodeString换成指针就快很多。
缘中人 2018-06-07
  • 打赏
  • 举报
回复
与代码有关系?
yygang2003 2018-06-03
  • 打赏
  • 举报
回复
对代码进行了单元测试,发现2个问题,第一有一段代码64位效率低,重写了代码后效率和32位一样,第二是使用的压缩库有问题,看来需要换压缩库,现在使用的压缩库64位效率比32位低。 编译选项是默认的选项,没有发现问题
  • 打赏
  • 举报
回复
还是代码或者编译选项的问题

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧