主要观点:新里程碑为 Red 的内存管理和垃圾收集带来诸多底层改进,以完成内部内存模型并为未来稳定版 Red v1.0 做准备。
关键信息:
- 新增外部资源管理器,可跟踪和释放未使用资源,如图像位图缓冲区和字体句柄。
- 使 Red GC 更精确,通过帧记录提示、可变提示、优化指针识别性能和优化帧遍历等方式。
- GC 能回收节点帧,通过特殊 GC 传递移动活节点并释放空帧,还改进了节点帧内部结构。
- 引入外部 Red 值引用管理系统,仅向外部代码导出引用。
- 增加底层分配跟踪,利用薄层跟踪分配并提供额外功能。
- 有其他各种变化,如 stats 原生改进、降低内存分配等。
- Red/System 有相关变化,如添加系统库图像支持等。
重要细节: - 内存模型中所有 Red 值存储在系列中,通过节点引用访问缓冲区。
- 帧记录提示通过位数组和偏移量来匹配调用帧和位图数组。
- 对于可变函数,根据类型使用不同的位图创建方式。
- 优化指针识别性能使用缓存排序列表和二分搜索。
- 外部值引用管理系统避免节点指针存储在 GC 无法触及的地方。
- 底层分配跟踪可在 Red 退出时释放系统分配的内存区域等。
- 下一个版本将具备全异步 IO 支持等其他主要功能。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。