免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5603 | 回复: 5
打印 上一主题 下一主题

[性能调优] 同样的代码在64位 linux上编译执行要比 64位 aix快很多 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-05-13 10:11 |只看该作者 |倒序浏览
  不知各位有没有遇到过,同样的代码 ,在 64位 linux上编译执行要比 64位 aix快不少。
aix 7 xlC/C++ v12.1
linux 2.6.18 ext3 gcc v4.1.2
两台机器 cpu 32核、内存都是32G


单独测试 对比了aix、linux几个系统调用
   100万次        Linux        aix
Memcoy   4字节 0.008264   0.025884
Malloc/free 4字节 0.042305  0.134968
New/delete 4字节 0.049961  0.158942

想请教一下,是aix本身就慢呢,还是和编译器有关?谢谢

论坛徽章:
12
CU大牛徽章
日期:2013-09-18 15:20:4815-16赛季CBA联赛之同曦
日期:2016-02-01 20:28:25IT运维版块每日发帖之星
日期:2015-11-10 06:20:00操作系统版块每日发帖之星
日期:2015-10-28 06:20:002015亚冠之塔什干棉农
日期:2015-06-04 11:41:56丑牛
日期:2014-05-10 16:11:33技术图书徽章
日期:2013-09-23 13:25:58CU大牛徽章
日期:2013-09-18 15:21:17CU大牛徽章
日期:2013-09-18 15:21:12CU大牛徽章
日期:2013-09-18 15:21:06CU大牛徽章
日期:2013-09-18 15:20:58数据库技术版块每日发帖之星
日期:2016-02-08 06:20:00
2 [报告]
发表于 2014-05-13 17:36 |只看该作者
回复 1# tottiman
源代码是什么?编译的优化选项是什么?另外是什么机型的机器?
在高性能计算上,Power未必占优。不过你这个测试结果相差也实在太大了


   

论坛徽章:
0
3 [报告]
发表于 2014-05-20 14:50 |只看该作者
回复 2# mike79


    源代码就是简单的memcpy、malloc,比如:
int a = 255;
char* ptr = (char*)malloc(1024*1034 * 10);
{
//开始计时
CPrecTime pt("test memcpy");  //自己写的一个计时类,构造开始,析构结束 ,调gettimeofday
for(int i =0; i < 1000000; ++i)
{
    memcpy(ptr + i*4, (char*)&a, 4);
}
}

{
//开始计时
CPrecTime pt("test malloc");  
for(int i =0; i < 1000000; ++i)
{
    char* a = (char*)malloc(4);
   free(a);
}
}

编译选项是 xlC -q64

机器是 AIX 7 配置如下:


论坛徽章:
5
荣誉会员
日期:2011-11-23 16:44:17CU大牛徽章
日期:2013-09-18 15:15:15CU大牛徽章
日期:2013-09-18 15:15:45未羊
日期:2014-02-25 14:37:19射手座
日期:2014-12-26 22:55:37
4 [报告]
发表于 2014-05-21 11:30 |只看该作者
x86上是最新的i7/xeon,差不过就这水平了,POWER6的老CPU。
换power7+或者power8看看。
此外,malloc两者实现差别很大,linux下面malloc一个4G的内存,如果没写数据,其实在OS里面并没有真正分配,AIX只要malloc,就占用了

论坛徽章:
0
5 [报告]
发表于 2014-05-21 16:12 |只看该作者
回复 3# tottiman


    牛X的处理器

论坛徽章:
0
6 [报告]
发表于 2014-05-22 16:13 |只看该作者
加了编译选项-qipa快了一些,但不知有没有副作用,貌似就是不让内联了,64位上很多程序都会这样
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP