免费注册 查看新帖 |

Chinaunix

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

谁给解释下。 [复制链接]

论坛徽章:
0
1 [报告]
发表于 2009-03-18 19:36 |只看该作者
这样写,也许能提高速度

论坛徽章:
0
2 [报告]
发表于 2009-03-18 20:37 |只看该作者
如果作者肯定自己的循环不能被任何一个编译器展开,那么这是一个很牛X的做法。
如果作者.................这是一个很傻X的做法。

论坛徽章:
0
3 [报告]
发表于 2009-03-18 23:05 |只看该作者
那到底是高在哪里呢?

论坛徽章:
0
4 [报告]
发表于 2009-03-18 23:06 |只看该作者

回复 #3 prolj 的帖子

有道理。稍作更正:不是傻叉,是装叉。

论坛徽章:
0
5 [报告]
发表于 2009-03-18 23:16 |只看该作者

回复 #5 langue 的帖子

其实是我看了作者写的文章,感觉写的挺牛的,应该他写的代码有一定的道理

论坛徽章:
0
6 [报告]
发表于 2009-03-18 23:21 |只看该作者

回复 #6 南无小和尚 的帖子

delphij 一直在利用空余时间来做 FreeBSD <string.h> 里面那些函数的优化工作。如果这里的代码的确有用,那么他所做的一切都是徒劳。

优化编译器(optimizing compilers)遇到循环结构会做一定程度的展开,这里的手工展开显然是没有必要。

论坛徽章:
0
7 [报告]
发表于 2009-03-18 23:24 |只看该作者

回复 #7 langue 的帖子

哦,谢谢老大

论坛徽章:
0
8 [报告]
发表于 2009-03-18 23:25 |只看该作者
补充:
在函数里使用 register 来提醒编译器把某个变量存在寄存器里,这样的做法同样没有必要。现代编译器已经具有相当的优化能力。更何况,CPU 寄存器是极其宝贵的资源,你告诉编译器用寄存器,编译器不一定会去用。

论坛徽章:
0
9 [报告]
发表于 2009-03-18 23:29 |只看该作者

回复 #9 langue 的帖子

老大是我的偶像

论坛徽章:
0
10 [报告]
发表于 2009-03-19 10:14 |只看该作者
今天蹲坑,猛然想起编程珠玑好像和这个类似的,急忙翻开86-87页,画龙点睛之笔 旧计算机:可以降低开销,提速10%-20%,现代计算机可以减少阻塞,减少分支,提高指令序列并行性
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP