- 主题:求教一个C++数组赋值的效率问题
你怎么测量的时间?
【 在 xueyandy 的大作中提到: 】
: double D\[\]=new double\[2000000\];
:
: D\[0\]=0.0;//赋值很快,小于1微秒
:
: D\[1000000\]=0.0;//赋值较慢,大于1毫秒
:
: 请指教!谢谢!
:
: \- 来自「最水木 for iPhone13,2」
: --
发自「今日水木 on 鸿蒙」
--
FROM 73.93.166.*
page fault也不应该1毫秒这么慢啊,这是个数组,不需要从disk load什么东西,就是找块空闲内存map一下(就算加上清空内存操作)。
1毫秒可以干多少活啊。
怀疑楼主怎么测量的这个时间,测量误差估计很大。
【 在 philbloo 的大作中提到: 】
: 应该是 page fault
: 用 systemtap 监测可以确认
--
FROM 73.93.166.*
楼主内存这么小吗?
【 在 xiaoju 的大作中提到: 】
: 为了找块连续空物理内存需要把其它进程的空间换出而已,你把在别的版闹的时间拿来看点书吧
: --
发自「今日水木 on 鸿蒙」
--
FROM 107.77.212.*
物理内存需要连续吗?
【 在 xiaoju 的大作中提到: 】
: 为了找块连续空物理内存需要把其它进程的空间换出而已,你把在别的版闹的时间拿来看点书吧
: --
发自「今日水木 on 鸿蒙」
--
FROM 107.77.212.*
那问题就来了
楼主代码只访问了第一个page和最后一个page
你是说楼主机器连两个空闲page都没有了?
【 在 xiaoju 的大作中提到: 】
: 理论上说不一定连续
: --
发自「今日水木 on 鸿蒙」
--
FROM 107.77.212.*
兄弟 没你这么干的
你拿一把精度是一米的尺子量一毫米的东西,然后问为什么一会结果是0米,一会结果是1米?
【 在 xueyandy 的大作中提到: 】
: \- 来自「最水木 for iPhone13,2」
: --
: [upload][/upload]
: [upload][/upload]
: [upload][/upload]
: [upload][/upload]
: [upload][/upload]
发自「今日水木 on 鸿蒙」
--
FROM 107.77.212.*