我知道,这是一个实现细节,有些人认为禁止对它们感兴趣。但我仍然想找到以下内容的参考和确认:
大对象堆维护一个段中空洞的空闲列表。它使用它来满足大对象的分配请求。这是否也意味着这样的分配可能比来自小对象堆的常规(仅分配指针增加)分配更昂贵?参考
在 32 位进程上,段大小的下限为 16MB。64 位进程的大小限制是多少?
备注:此问题不要求正确的对象设计(池)解决方案。
我知道,这是一个实现细节,有些人认为禁止对它们感兴趣。但我仍然想找到以下内容的参考和确认:
大对象堆维护一个段中空洞的空闲列表。它使用它来满足大对象的分配请求。这是否也意味着这样的分配可能比来自小对象堆的常规(仅分配指针增加)分配更昂贵?参考
在 32 位进程上,段大小的下限为 16MB。64 位进程的大小限制是多少?
备注:此问题不要求正确的对象设计(池)解决方案。
我刚刚在 VMMap 的帮助下发现了问题的第二部分:
最小段大小
Initial segment size for Gen 0,1,2: 16 MB
Initial segment size for LOH: 16 MB
Size for larger LOH chunks:multiples of 8 MB
Initial segment size for Gen 0,1,2: 256 MB
Initial segment size for LOH: 128 MB
Size for larger LOH chunks: multiples of 128 MB