内存算法配置的使用

内存算法配置的使用

Q:内存算法配置的使用 

TLSF 虽然拥有 O(1) 时间复杂度的内存管理算法,适用于实时操作系统,但是在 32 位系统上仅能保持 4 字节对齐特性,在 64 位系统上仅能保持 8 字节对齐特性,不满足 POSIX 对 malloc 具有 2 * sizeof(size_t)对齐的要求。所以有些软件可能会严重错误,例如 Qt/JavaScript 引擎,所以使用时需慎重!
只有确认应用没有 2 * sizeof(size_t) 对齐要求时, 方可使用。TLSF 由于具有 O(1) 时间复杂度, 所以他可以使用自旋锁来提高效率, 但会降低系统实时性, 请权衡使用.
      内核中关于算法配置如下图所示。
      

    • Related Articles

    • SylixOS 性能优化:动态内存分配器替换

      1、SylixOS支持多种内存分配算法,即内存分配器(Memory Allocators,以下简称为分配器) dlmalloc  : 第一个被广泛使用的通用动态内存分配器,Linux 早期使用,SylixOS 应用程序默认选用。 ptmalloc2 :Linux glibc默认内存分配算法,由dlmalloc发展而来,发布于2006年。 tcmalloc (Thread-Caching Malloc): Google 贡献的分配器。 TLSF (two-level segregated-fit) ...