免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: reiase
打印 上一主题 下一主题

大家测过64linux vs 32windows的性能没有 [复制链接]

论坛徽章:
0
31 [报告]
发表于 2009-08-13 16:06 |只看该作者

回复 #29 OwnWaterloo 的帖子

变数声明数组是Gcc对C的扩展
很好用,就是VC不支持

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
32 [报告]
发表于 2009-08-13 16:10 |只看该作者

回复 #31 reiase 的帖子

扩展?  这不是C99提供的特性吗?
alloca啊alloca~~~

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:49:45
33 [报告]
发表于 2009-08-13 16:11 |只看该作者
原帖由 OwnWaterloo 于 2009-8-13 16:04 发表
好像符合C99的样子

C99 != ISO C++

如果你是C语言不是C++, 当我没说。

[ 本帖最后由 koolcoy 于 2009-8-13 16:13 编辑 ]

论坛徽章:
324
射手座
日期:2013-08-23 12:04:38射手座
日期:2013-08-23 16:18:12未羊
日期:2013-08-30 14:33:15水瓶座
日期:2013-09-02 16:44:31摩羯座
日期:2013-09-25 09:33:52双子座
日期:2013-09-26 12:21:10金牛座
日期:2013-10-14 09:08:49申猴
日期:2013-10-16 13:09:43子鼠
日期:2013-10-17 23:23:19射手座
日期:2013-10-18 13:00:27金牛座
日期:2013-10-18 15:47:57午马
日期:2013-10-18 21:43:38
34 [报告]
发表于 2009-08-13 16:17 |只看该作者
原帖由 koolcoy 于 2009-8-13 15:57 发表


汗, 你这buf才多大啊, 你把buf设成物理内存的3/4大, 然后memset的值不要用0, 用-1, 把编译器优化关掉再看看;



用-1, 把编译器优化关掉结果类似。缺省情况下循环应该没有被优化掉,要不然不会需要这么多时间。

如果buf用很大,会有更多的时间用于访问内存了,反而体现不出32与64位指令的差别了。如果用很小,用在调用函数的开销上也不少。

论坛徽章:
0
35 [报告]
发表于 2009-08-13 16:18 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
36 [报告]
发表于 2009-08-13 16:20 |只看该作者

回复 #33 koolcoy 的帖子

原帖由 koolcoy 于 2009-8-13 16:11 发表
C99 != ISO C++
如果你是C语言不是C++, 当我没说。


但是, 你看 :

原帖由 reiase 于 2009-8-13 15:56 发表

本来俺是这么声明缓冲区的:
unsigned char buff[a->size]={0};

到VC下不得不改成:
unsigned char *buff = malloc(a->size);
memset(buff,0,a->size);


这本来就不可能是C++代码

论坛徽章:
0
37 [报告]
发表于 2009-08-13 16:27 |只看该作者
现在来说,对于x86的Linux和x64的Linux平台,同一套代码是不是改个编译选项,重新编译一下就好了,但是要最优化的话,是不是要改改代码才能实现~~

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:49:45
38 [报告]
发表于 2009-08-13 16:30 |只看该作者
原帖由 OwnWaterloo 于 2009-8-13 16:20 发表


但是, 你看 :



这本来就不可能是C++代码

C++中用malloc也很正常的 用malloc可以防止遇到重载过的new, 免得掉坑里。

[ 本帖最后由 koolcoy 于 2009-8-13 16:32 编辑 ]

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
39 [报告]
发表于 2009-08-13 16:32 |只看该作者

回复 #38 koolcoy 的帖子

原帖由 koolcoy 于 2009-8-13 16:30 发表

C++中用malloc也很正常的 用malloc可以防止遇到重载过的new, 免得掉坑里。


不,跟malloc,operator new都没有关系。

你仔细看看我加颜色的部分
中间是不是少了什么

[ 本帖最后由 OwnWaterloo 于 2009-8-13 16:34 编辑 ]

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:49:45
40 [报告]
发表于 2009-08-13 16:33 |只看该作者
原帖由 OwnWaterloo 于 2009-8-13 16:32 发表
你仔细看看我加颜色的部分
中间是不是少了什么

好吧, 算我没看仔细
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP