zhiyangfan @ 2021-10-22 10:43:12
刚刚看学术版有人问内存访问连续的问题,然后评论区有人说小的放前面快,正好我在写一道开 ch[N][2] 的题,我就去交换了一下试试,为啥反而更慢了/jk
小的放前面的评测
大的放前面的评测
哦,关于评测机波动的怀疑,我又交了一发然后还是小的放前面快(虽然差距更小了?所以其实没啥区别?)我看那个帖子的评论区有人因为这个被卡掉了,我非常害怕就来问问qwq
by x义x @ 2021-10-22 10:46:08
内存访问是否连续的问题不是一句"小的放前面快"就可以概括的,还是要具体问题具体分析
by zhiyangfan @ 2021-10-22 10:48:45
@x义x /bx 好吧,这种东西影响大吗qwq,我感觉我从来都没了解过qwq。
by x义x @ 2021-10-22 10:51:04
@zhiyangfan 影响大不大也得看具体情况(
总之就是如果最后一维很大的话尽量不要让前几维变动次数太多
by zhiyangfan @ 2021-10-22 10:55:32
@x义x okk 谢谢谢谢/bx
by x义x @ 2021-10-22 10:57:03
@zhiyangfan 最好的方法其实就是遍历每一种排列顺序看哪种最快(
by zhiyangfan @ 2021-10-22 11:04:41
@x义x 枚举法yyds(
by 望月Asta @ 2021-10-22 11:07:47
情况不同还是不一样
ch[N][2]数组连续访问的是ch[N][0]和ch[N][1]这两个地址,是连续的,于是小的一维放后面.
但是在例如st表这样的,访问的情况不一样,参见这张图
其实我也不太懂(逃
by zhiyangfan @ 2021-10-22 11:15:46
@望月Asta /jk 谢谢谢谢谢谢,大概明白了一点了,我回去再仔细研究一下
by conprour @ 2021-10-22 11:20:32
@望月Asta 所以st表要小的一维放在前面吗?
by 望月Asta @ 2021-10-22 11:24:26
@conprour 是这个意思(您又在卷啊orz