牛
【 在 ilovecpp (cpp) 的大作中提到: 】
: 标 题: Re: 关于几种简单情况的计算速度的疑惑
: 发信站: 水木社区 (Mon Jun 29 20:15:18 2020), 站内
:
: new通过mmap分配的大块内存并不会清0,所以当时也不会分配物理内存。在循环里第一次访问时才会触发page fault,由内核实际分配物理内存并清0。
:
: 而vector的构造函数会清0,所以分配物理内存的时间在你计时器前面。
:
: 至于debug版,可能new用某个值填充了内存,所以分配物理内存也在计时器前面。
:
: 你把计时器挪到main开头,或者测试的片段多重复几百次,就没有这个差别了。本来计时到毫秒以下就太短了,不可靠,重复到一秒以上为好。
:
: 【 在 capriccio 的大作中提到: 】
: : 就是下面代码在4种情况下的计算速度:(编译器vs2015,x64)
: : 1. a,b都是double*, debug模式: 0.0024秒
: : 2. a,b都是double*, release模式:0.0035秒
: : ...................
: --
: ※ 修改:·ilovecpp 于 Jun 29 20:26:13 2020 修改本文·[FROM: 114.86.89.*]
: ※ 来源:·水木社区
http://m.newsmth.net·[FROM: 114.86.89.*]
--
修改:ilovecpp FROM 114.86.89.*
FROM 171.83.8.*