免费注册 查看新帖 |

Chinaunix

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

[FreeBSD] 如何提高程序的性能? [复制链接]

论坛徽章:
0
51 [报告]
发表于 2008-05-08 14:02 |只看该作者
1) 6.x编译
2) copy to 7.0 (直接运行会报libc.so.6和libm.so.4没有找到)
3) 在7.0下安装compat6x包

// 备份6.0的库?
4) mv /usr/local/lib/compat/libc.so.6 /usr/local/lib/compat/libc.so.6.bk
// 重新用7.0来替代6.0的库?
5) cd /lib && ln -s libc.so.7 libc.so.6

6) ./a.out


以上操作之后,7.0上时间为30
跳过步骤4,5,运行时间仍然100之上



2) copy to 7.0 (直接运行会报libc.so.6和libm.so.4没有找到)

这个问题用静态编译可以解决吗? 我试过好像也不行。 有一个东西想只发布静态编译的版本, 在不同的系统下面都无法用即使使用了
--static 编译。 centos <==> suse.   以及bsd 5.4 和6.x

查了一下, bsd 的libc是自己的,原来以为是glibc. 看来基础库很关键啊。

[ 本帖最后由 im2web 于 2008-5-8 14:08 编辑 ]

论坛徽章:
0
52 [报告]
发表于 2008-05-08 14:44 |只看该作者
原帖由 gvim 于 2008-5-8 13:34 发表


确定了,是7.0和6.x之间libc库的改进导致性能改善。

方法:
1) 6.x编译
2) copy to 7.0 (直接运行会报libc.so.6和libm.so.4没有找到)
3) 在7.0下安装compat6x包
4) mv /usr/local/lib/compat/libc.s ...


论坛徽章:
2
亥猪
日期:2014-03-19 16:36:35午马
日期:2014-11-23 23:48:46
53 [报告]
发表于 2008-05-08 14:46 |只看该作者
原帖由 im2web 于 2008-5-8 14:02 发表
1) 6.x编译
2) copy to 7.0 (直接运行会报libc.so.6和libm.so.4没有找到)
3) 在7.0下安装compat6x包

// 备份6.0的库?
4) mv /usr/local/lib/compat/libc.so.6 /usr/local/lib/compat/libc.so.6.bk
// 重 ...


BSD是自己实现的lib,7.0修改比较大,包括线程库和内存库等子系统,出乎我意料的是7.0 vs 6.x会如此大差距,即便只涉及libc。

>>这个问题用静态编译可以解决吗
有些系统已经不再支持static,比如solaris。我不清楚linux是否取消了static支持。
BSD好像只有libc可以static,即便libm都没法(或者在make world的时候可以配置,不过我没有试验过)

论坛徽章:
2
亥猪
日期:2014-03-19 16:36:35午马
日期:2014-11-23 23:48:46
54 [报告]
发表于 2008-05-08 14:51 |只看该作者
原帖由 doctorjxd 于 2008-5-8 14:44 发表




7.0的libc 和 libm copy 到6.x,类似上面的替换之后,性能也大幅提高,6.x上显示为30左右。

交叉比对,基本锁定性能差异发生在libc,kernel差异在这个case理体现不出来。

测试条件是虚拟机。同样的实体硬件和虚拟硬件,应该可以屏蔽平台差异。

[ 本帖最后由 gvim 于 2008-5-8 14:53 编辑 ]

论坛徽章:
0
55 [报告]
发表于 2008-05-08 15:20 |只看该作者
原帖由 geel 于 2008-5-8 12:39 发表


如果看不懂别人在讨论什么,那么选择沉默是比较明智的:wink:


我才刚学,不过我不想沉默,如果我说错了,还希望指正,因为只顾自己埋头苦学的人,技能未必能突飞猛进,如能得高人指点,比你看几天的书受益还要多,当然如果是对电脑一窍不通的人就另当别论了!

论坛徽章:
0
56 [报告]
发表于 2008-05-08 15:24 |只看该作者
原帖由 四水哥 于 2008-5-8 15:20 发表


我才刚学,不过我不想沉默,如果我说错了,还希望指正,因为只顾自己埋头苦学的人,技能未必能突飞猛进,如能得高人指点,比你看几天的书受益还要多,当然如果是对电脑一窍不通的人就另当别论了!


看54楼的结论 :)

论坛徽章:
0
57 [报告]
发表于 2008-05-08 15:53 |只看该作者
原帖由 geel 于 2008-5-8 15:24 发表


看54楼的结论 :)


呵呵,谢谢,看来我研究的freebsd7.0的性能还是比6.0的要高,不过稳定性到底谁更好呢?

论坛徽章:
0
58 [报告]
发表于 2008-05-09 13:03 |只看该作者
... 没有环境

是否意味着

在freebsd
for (int i =0 ; i< 5000; i++)
{
  char buff[1024] ={0};

  memset(buff, 0, sizeof(buff));


}


这个函数也要使用 0.24*5000??
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP