Re: Re: [cpp] C++ Map 在32位模式下最大容限是多少?
林绍川
lsccsl at tom.com
Wed Mar 26 19:08:45 CST 2008
呵呵,是哪个版本的stl把rbtree线索化了啊?
准确说是 实现map和set的时候会 线索化
在08-3-17,陈超 <alpha.1986 at gmail.com> 写道:
一般情况下,STL实现红黑树时会线索化二叉树,这样子就又增加了标志域。如果采用64位的OS的话,每个指针也都是64位了,这样就业得不偿失了。另外关于64位的系统int,long这些和32的不太一样。而且每个之间又有差别,这样跨平台的话,可能以前的代码就需要做很多修改了。
在08-3-17,李慧霸 <magazine.lihuiba at 163.com> 写道:
有如此高的内存需求,多半是服务器程序,那么64位OS是最好的选择。
c++的map是用红黑树实现的,每个节点(就是每个元素)的额外开销应该不超过16字节(
有待求证)。"额外开销"是指除了存储你的key、value之外的开销。所以2G的地址空间
应该可以存放很多东西。
如果其他部分的内存开销不大,可以考虑C++ interop(不用COM),甚至直接用C++/CLI生
成托管代码。否则可以考虑进程外COM。
------------------
李慧霸
2008-03-17
-------------------------------------------------------------
>发件人:quengzi
>发送日期:2008-03-13 12:27:24
>收件人:Cpp at codingnow.com
>抄送:quengzi at gmail.com
>主题:[cpp] C++ Map 在32位模式下最大容限是多少?
>
>在C#中32位机器Hash容器最多2000万多一些(内存达到容限)
在C++中是否有同样的问题?
如果我用C++写一个COM组件,是否可以扩展内存,在Map中存放更多的内容?
_______________________________________________
Cpp mailing list
Cpp at codingnow.com
http://codingnow.com/mailman/listinfo/cpp
>
_______________________________________________
Cpp mailing list
Cpp at codingnow.com
http://codingnow.com/mailman/listinfo/cpp
--
Chao Chen
P.L.A. Information Engineering University
Zhengzhou,Henan,China
Blog:http://blog.alpha1986.cn
Email:alpha.1986 at gmail.com
--
Chao Chen
P.L.A. Information Engineering University
Zhengzhou,Henan,China
Blog:http://blog.alpha1986.cn
Email:alpha.1986 at gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://codingnow.com/pipermail/cpp/attachments/20080326/86b41964/attachment.html
More information about the Cpp
mailing list