【发布时间】:2021-09-19 17:56:49
【问题描述】:
为什么二维向量初始化比一维要长 20 倍?
这需要 32 毫秒:
vector<vector<float>>a(1000000,vector<float>(1));
但是这个需要 1.3 毫秒:
vector<float> b(1000000);
如果没有优化,情况会更糟。
【问题讨论】:
-
第一个至少分配了 1m 堆。第二个只做一个。
-
你说的是创建 1000000 个向量而不是 1000000 个浮点数
-
构建向量与构建浮点数不同。