当前位置:  技术问答>linux和unix

map存储的大小和程序大小相差很大

    来源: 互联网  发布时间:2016-10-15

    本文导语:  变量 map  x是一个结构体 struct x //构成定义 pm_mu { int32 id; string name; string desc; int32 a_id;  string a_compose; }; 差不多是5w条记录,我把每条记录的大小相加,得到差不多是10m的内存大小 每条记录占用的内存我用了4+na...

变量
map 
x是一个结构体
struct x //构成定义 pm_mu
{
int32 id;
string name;
string desc;
int32 a_id; 
string a_compose;
};


差不多是5w条记录,我把每条记录的大小相加,得到差不多是10m的内存大小
每条记录占用的内存我用了4+name.size+desc.size+4+a_compose。size

代码只是想数据插入map
为什么插入前后程序的大小会相差30m。多出的内存在哪里被消耗了?
有什么办法能减少内存不?

|
据说map是红黑树,本身要占用一些空间,不过应该也没有LZ说的那么多
http://topic.csdn.net/u/20100530/19/159d769f-110c-463d-b075-274191cbfbcd.html
c/c++ iis7站长之家

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 持久化存储的 Map MapDB
  • C++ Maps 成员 swap():交换两个map
  • 请问LINUX下有没有跟在windows下一样的hash_map使用?比如VS2005下有微软实现的hash_map.
  • C++ Maps 成员 end():返回指向map末尾的迭代器
  • java集合map取key使用示例 java遍历map
  • C++ Maps 成员 rend():返回一个指向map头部的逆向迭代器
  • 请问,system.map有用吗?
  • C++ Maps 成员 get_allocator():返回map的配置器
  • gcc编译的程序生成的map文件问题
  • C++ Maps 成员 rbegin():返回一个指向map尾部的逆向迭代器
  • Java用for循环Map详细解析
  • C++ Maps 成员 size():返回map中元素的个数
  • 请问哪个方法可以检查Map中有某个键存在?
  • C++ Maps 成员 empty():如果map为空则返回true
  • linux中如何用shmget在共享内存中分配一个Map类型的空间?
  • C++ Maps 成员 begin():返回指向map头部的迭代器
  • Google Maps Navigation
  • C++ Maps 成员 find():查找一个元素
  • jQuery Google Maps
  • C++ Maps 成员 clear():删除所有元素
  • Google 地图 API Google Map
  • C++ Maps 成员 count():返回指定元素出现的次数
  • system.map文件的作用和理解


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3