101 i=97 112
102 i=98 112
103 i=99 112
了解了malloc的内存对其原理后,对于程序的内存占用的优化又有了有的放矢。我们可以根据内存对齐的原则来请求内存,来制作我们的高效内存池,从而避免隐形的资源浪费.
例如,目前STL的内存池是以8Byte为对齐单位,内存池free_list大小为
free_list[0] --------> 8 byte
free_list[1] --------> 16 byte
free_list[2] --------> 24 byte
... ...
free_list[15] -------> 128 byte
我们可以将其优化为
32bit OS 16-4+n*8
64bit OS 32-8+n*16
n=(0,1,2,3.....max)
这样,占用同样大小的内存池,可用性会更高...
摘自 大熊 | Zealot Yin