读书人

vs2008调用地图的clear很耗时求解

发布时间: 2013-11-14 22:02:51 作者: rapoo

vs2008,调用map的clear很耗时,求解?
map大概有100兆,调用clear很耗时,在release下大概有1分钟,但是把软件打包为安装包安装到电脑上不会有这个问题,是什么原因呢?vs?
[解决办法]

引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

map 里对象什么类型,clear 之前有多少的元素?

map就存vector,clear之前有100m数据

你是说像这样吗?

map<K,vector<T>> m;
m.size() == 100,000,000;

那这至少 200,000,000 个 operator delete,如果 K/T 有析构函数的话,还需要调用它们,如果析构不是 noexcept 的话,也不好优化,可能会很慢吧。

那为什么把程序安装到电脑上不会出现析构慢的情况?

不知道,信息太少只能猜了,是不是机器配置不同导致的。
慢的机器啥配置,慢的时候负载多大,...。

读书人网 >C++

热点推荐