官网地址:http://www.gii.upv.es/tlsf/
官网的代码应该是主分支,github上的几个仓库更新不是那么及时。
英文好的同学请直接看论文《TLSF: a New Dynamic Memory Allocator for Real-Time Systems》。
TLSF(two-level segregated-fit) 是一种用于实时操作系统的内存分配算法,时间复杂度 O(1),在内存碎片问题上表现良好,可以将它看做是一个动态管理内存的内存池,提供分配及回收内存的方法,并能够进行内存碎片化整理。它的特点在于:
- 可以预期的分配执行时间,无论对于多达的内存分配请求,TLSF可以在限定的时间内完成分配。
- 碎片化程度低。
代码如下:
tlsf.h
tlsf.c
target.h
测试代码如下:
参考测试结果如下:
可以看到,tlsf效率还是比标准的malloc差了不少,不过tlsf主要是为了减少内存碎片,且分配性能恒定。
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/8591.html