内存分配器技能Skill MemoryAllocator

内存分配器技能是一种用于设计和实现高性能、定制化内存管理系统的专家级能力。它专注于为编程语言运行时、虚拟机或解释器等核心系统组件构建高效的内存分配策略。核心功能包括实现碰撞分配器、空闲列表、板分配器、线程本地缓冲区,并处理大对象分配与内存池优化。该技能旨在减少内存碎片、提升分配速度、优化缓存局部性,并与垃圾回收机制深度集成,是构建高性能语言运行时和系统软件的关键底层技术。关键词:内存分配器,内存管理,性能优化,运行时系统,垃圾回收,线程安全,内存池,分配策略。

架构设计 0 次安装 2 次浏览 更新于 2/25/2026

名称: 内存分配器 描述: 为语言运行时需求优化的自定义内存分配器设计专家技能 类别: 内存管理 允许使用的工具:

  • 读取
  • 写入
  • 编辑
  • 全局搜索
  • 文本搜索
  • Bash

内存分配器技能

概述

为语言运行时需求优化的自定义内存分配器设计专家技能。

能力

  • 实现碰撞/区域分配器
  • 实现带有大小类的空闲列表分配器
  • 为固定大小对象设计板分配器
  • 实现线程本地分配缓冲区
  • 处理大对象分配策略
  • 实现内存池和回收利用
  • 设计内存分析和统计
  • 实现地址空间布局优化

目标进程

  • memory-allocator-design.js
  • garbage-collector-implementation.js
  • interpreter-implementation.js
  • bytecode-vm-implementation.js

依赖项

jemalloc, tcmalloc 参考

使用指南

  1. 大小类: 设计大小类以最小化内部碎片
  2. 线程安全: 在热路径上使用线程本地分配
  3. 大对象: 将大对象与小型分配分开处理
  4. 性能分析: 从一开始就构建分配统计
  5. GC集成: 设计时考虑垃圾回收集成的分配器API

输出模式

{
  "type": "object",
  "properties": {
    "allocatorType": {
      "type": "string",
      "enum": ["bump", "free-list", "slab", "hybrid"]
    },
    "sizeClasses": {
      "type": "array",
      "items": { "type": "integer" }
    },
    "threadSafety": {
      "type": "string",
      "enum": ["single-threaded", "tlab", "lock-free"]
    },
    "generatedFiles": {
      "type": "array",
      "items": { "type": "string" }
    }
  }
}