首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2013-11-14 
vs2008,调用map的clear很耗时,求解?map大概有100兆,调用clear很耗时,在release下大概有1分钟,但是把软件打

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 的话,也不好优化,可能会很慢吧。

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

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

热点排行