GoMem:Go 高性能内存分配库
从 Monibuca 项目中抽出的 Go 内存分配器库,提供多种分配策略、可回收内存与零拷贝多缓冲读取。
GoMem 是一个 Go 内存分配器库,源自 Monibuca 项目。它支持单树(treap)与双树(AVL)两种分配算法,可通过构建标签切换;可选 buddy 系统做内存池,支持可回收内存与自动清理、动态扩展的分配器,以及基于零拷贝操作的多缓冲 Memory Reader。构建标签还可启用 mmap 分配(Linux 下自动启用 2MB 透明大页)。README 给出的基准(Apple M2 Pro、Go 1.23.0)显示 mmap 实现在分配器创建速度与内存占用上有明显改善,但单次分配与读写略慢;单树分配更快,双树查找更快。并发方面要求 Malloc 与 Free 在同一 goroutine 中调用。