Golony 是一个高性能的 Go 容器库,提供以下特性:
- O(1) 时间复杂度的插入操作
- O(1) 时间复杂度的删除操作
- O(1) 时间复杂度的元素引用
- 高效的元素遍历(跳过已删除元素)
- 引用失效检测
- 采用了类似 C++ 库 plf::colony (std::hive) 中的 low complexity jump-counting pattern 来实现高效遍历
- 使用 check pattern 机制来检测引用失效
- 通过跳表优化遍历性能,避免遍历已删除的元素位置
适用于需要频繁插入删除,同时要求保持元素引用稳定性的场景,例如:
- 游戏开发中的实体管理
- 大规模对象池
- 需要频繁更新的数据结构
- 插入/删除操作不会导致其他元素的内存移动
- 遍历时可以高效跳过已删除的元素
- 通过引用失效检测机制确保内存安全
MIT License