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 的话,也不好优化,可能会很慢吧。那为什么把程序安装到电脑上不会出现析构慢的情况?
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 的话,也不好优化,可能会很慢吧。
Quote: 引用:map 里对象什么类型,clear 之前有多少的元素?map就存vector,clear之前有100m数据
map 里对象什么类型,clear 之前有多少的元素?
map<K,vector<T>> m;m.size() == 100,000,000;