名称: 内存分配器 描述: 为语言运行时需求优化的自定义内存分配器设计专家技能 类别: 内存管理 允许使用的工具:
- 读取
- 写入
- 编辑
- 全局搜索
- 文本搜索
- Bash
内存分配器技能
概述
为语言运行时需求优化的自定义内存分配器设计专家技能。
能力
- 实现碰撞/区域分配器
- 实现带有大小类的空闲列表分配器
- 为固定大小对象设计板分配器
- 实现线程本地分配缓冲区
- 处理大对象分配策略
- 实现内存池和回收利用
- 设计内存分析和统计
- 实现地址空间布局优化
目标进程
- memory-allocator-design.js
- garbage-collector-implementation.js
- interpreter-implementation.js
- bytecode-vm-implementation.js
依赖项
jemalloc, tcmalloc 参考
使用指南
- 大小类: 设计大小类以最小化内部碎片
- 线程安全: 在热路径上使用线程本地分配
- 大对象: 将大对象与小型分配分开处理
- 性能分析: 从一开始就构建分配统计
- 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" }
}
}
}