- 主题:std::vector中初始化与否导致性能差异巨大
你应该把测试写成两个独立的程序做测试
否则你之前的测试用的内存页
还在操作系统里的页缓存里
【 在 xieyf 的大作中提到: 】
: gcc执行结果(带初值):
: time elapsed for allocation finished : 0.04800000(s)
: time elapsed for assignment finished : 0.01400000(s)
: ...................
--
FROM 205.220.129.*
如果先测试未初始化
再测试初始化什么结果
另外vector是先malloc再用placement new
【 在 xieyf 的大作中提到: 】
: 还是这个效果, 现象太稳定了。
: ???@localhost:~/ttest> ./strange_init && ./strange_uninit
: time elapsed for allocation finished : 0.01931500(s) <---初始化
: ...................
--
FROM 205.220.129.*
你把你机器的配置贴一下
【 在 xieyf 的大作中提到: 】
: 改动了一下测试函数, 搞成初始化一半的空间.
: 居然性能真的介于 初始化和不初始化之间. 我严重怀疑这是 uncommited memory搞得鬼。
:
: ...................
--
FROM 107.77.207.*