C++ STL (四) 分配器(讲的很粗糙,就是大概了解一下分配器的原理,过一阵子刷一下内存管理这门课补一补吧)
2018年12月16日 00:36:45 王小闹儿 阅读数 1820
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.youkuaiyun.com/qq_29996285/article/details/85019983
分析各种IDE中allocator的实现
vc
缺点:调用operator new 的获取内存,每次都是获取一点点内存,这样会有很多的额外开销



发现:这三个IDE都是通过malloc和free来分配内存,因此会带来大量的额外开销。
真正好的分配器——alloc
目的:尽量减少malloc次数
额外开销主要在cookie上面,所以alloc的cookie数量少很多


但是G4.9废弃了alloc
alloc改名变成了_pool_alloc
![]()
G4.9版的allocator又换回了会产生很多cookie的那种



本文探讨了C++ STL中的分配器概念,对比分析了不同IDE中allocator的实现方式,如VC调用operator new获取少量内存带来的额外开销,以及通过malloc和free分配内存的通用做法。深入讨论了alloc分配器的目的在于减少malloc调用次数,以降低额外开销,特别是cookie上的开销。文中还提及G4.9版本中alloc被废弃并更名的情况。
3471

被折叠的 条评论
为什么被折叠?



