PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
C_and_CPP
[问题] 问个基础问题,效能怎样会高
楼主:
sec5566
(sec)
2016-08-30 16:54:38
之前面试一家考试有一题是
两个程式哪个比较快
两个记得只差在
一个阵列是a[2][5]
一个是a[5][2]
这两个真的有差吗?
有一段时间了 题目其他部分不太记得
只记得其他行都一样
另外主要想问怎样的程式效能比较高
是程式比较短?还是循环少?
还是差在变量型态?
我对这方面真的不知道耶
估过狗发现很少有资料
不过记算处理时间的文倒是满多的
重点不知道怎样变短
就算得到时间也不知为何
作者:
damody
(天亮damody)
2016-08-30 17:08:00
Cpu cache
作者:
sunev
(Veritas)
2016-08-30 17:13:00
row major
作者:
Eleina
(艾琳娜)
2016-08-30 17:32:00
array 在 mem 中的储存方式 -> 加载 cache 哪个容易 miss
作者:
carylorrk
(carylorrk)
2016-08-30 17:41:00
这两个写法在内存的储存方式不是一样吗?a[2][5] 跟 a[5][2] 跟 a[10] 都是连续内存配置吧?然后如果 loop 都是先动 col 再动 row,就是顺序存取?
作者:
nowar100
(抛砖引玉)
2016-08-30 19:06:00
跟顺序存取比较无关 关键是他怎么从mem load to cache的事实上目前的a[0][0] a[1][0] 这种方式也不会是顺序存取
作者:
wtchen
(没有存在感的人)
2016-08-30 19:57:00
不懂,二维矩阵宣告(非malloc)默认不会用连续空间?如果是用**p宣告二维阵列我可以理解可能不会连续
作者:
Schottky
(顺风相送)
2016-08-30 20:16:00
我倒觉得问题应该是出在原 PO 不记得的程式码里
作者:
bluesoul
(å¿™æ»ä½ è€çˆ¸)
2016-08-30 20:20:00
不要做多余的事情,程式就会快
作者:
wuliou
(wuliou)
2016-08-30 23:18:00
速度有差啊 前三楼的原因
作者:
stupid0319
(征女友)
2016-08-30 23:19:00
买I7以上电脑
作者:
james732
(好人超)
2016-08-31 00:02:00
话说这种东西应该跟compiler与hardware实作也会有关系?
作者:
EdisonX
(卡卡兽)
2016-08-31 00:04:00
是 cache 没错,像是 matrix 相乘,加快的方式就是把第二个 matrix 转秩后再相乘,便是用 cache 特性.若取出的资料和上一笔资料都在附近(locality),cache率高.
https://www.youtube.com/watch?v=IFWgwGMMrh0
(所以才有 matrix mult. blocking 算法 )
作者:
ronin728
(浪人)
2016-09-04 12:20:00
给了关键字先Google,看不懂网络文章再来问,这是常识
作者:
wtchen
(没有存在感的人)
2016-09-04 15:10:00
问一下,有没有办法在跑程式的过程中侦测到cache miss?不是perf那种,而是读取data的当下发现不在cache里还是perf有函式库可以套用到C program里面?
作者:
wope
(独立黑色色彩)
2016-09-13 00:41:00
edisonx 正解malloc也有类似的问题
继续阅读
[问题] opencv 存取违规问题
oreoyeah
[问题] 注音变成乱码
HenryLiKing
Re: [问题] memory stack 的问题
tinlans
[问题] cout出来的endl或"\n"要怎么删掉?
ReiFu21
[问题]arduino 使用struct包装两个数值回传
smallswine
Re: [问题] memory stack 的问题
descent
[问题] memory stack 的问题
kyuudonut
Re: [问题] 关于Labview与C的wrapper.dll问题
MasterChang
[问题] opengl学习推荐
justtoothick
[问题] 指标是否等于存取RAM?
hsucheng
Links
booklink
Contact Us: admin [ a t ] ucptt.com