免费注册 查看新帖 |

Chinaunix

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

[C] 哪位达人可以告诉我 为什么说循环效率低? [复制链接]

论坛徽章:
0
21 [报告]
发表于 2008-10-17 17:38 |只看该作者
原帖由 cugb_cat 于 2008-10-17 17:36 发表
因为数组在内存中是按行存放的,所以按行来访问,效率更高,因为CPU的缓存(也就是intel说的那些1 2级缓存)会预读一部分数据,按行访问数组,可以保证CPU缓存具有很高的命中率,从而大大提高速度。

哦哦 这样 惭愧  一看到程序 就想歪了 以为是1000 10000的内外循环次数问题   没注意到第二个是不连续的。。。

论坛徽章:
1
射手座
日期:2013-08-21 13:11:46
22 [报告]
发表于 2008-10-17 17:39 |只看该作者
貌似是最近一期 的程序员上面的文章么

论坛徽章:
0
23 [报告]
发表于 2008-10-17 17:40 |只看该作者
不是的 是一个篇叫C代码优化方案的文章   发现的问题
感谢版主和雨过白鹭洲 同学的指点

论坛徽章:
1
射手座
日期:2013-08-21 13:11:46
24 [报告]
发表于 2008-10-17 17:46 |只看该作者
其实就是CPU cache命中的问题,感觉没什么吗

论坛徽章:
0
25 [报告]
发表于 2008-10-17 18:24 |只看该作者

论坛徽章:
0
26 [报告]
发表于 2008-10-17 18:25 |只看该作者
循环不会引起效率低下,但是如何循环就是需要研究的了。

论坛徽章:
0
27 [报告]
发表于 2008-10-17 18:28 |只看该作者
燕姿同学一定是学档案学的吧  不然怎么总是能引经据典呢 佩服!

论坛徽章:
0
28 [报告]
发表于 2008-10-17 18:38 |只看该作者
原帖由 duanius 于 2008-10-17 18:28 发表
燕姿同学一定是学档案学的吧  不然怎么总是能引经据典呢 佩服!


恰好以前看过这方面的东西,所以就想到了。呵呵。

论坛徽章:
0
29 [报告]
发表于 2008-10-20 10:33 |只看该作者
把源代码进行汇编,阅读汇编代码,你就可以得出结论,相信自己的眼睛和头脑.

论坛徽章:
0
30 [报告]
发表于 2008-10-20 11:11 |只看该作者

这个问题请看……

《深入理解计算机系统》(<Computer Systems A Programmer's Perspective>)
Chapter 5.8, Page 347 降低循环开销
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP