OffsetAllocator
操作耗时恒定、内存碎片很少的快速偏移量分配器,适合游戏、图形等需要可预测分配速度的实时程序。
挑一个能复现的小 issue,用 AI 编程助手把它修好。
分享到 X许可证: MIT
概述
OffsetAllocator 是一个 C++ 分配器,它分配的是范围内的偏移量而不是内存指针,所有操作都是常数时间。它用按 8 位浮点尺度划分的 256 个桶,以及两级位图来查找下一个空闲桶。这样浪费的空间最多为 12.5%,而按 2 的幂分桶最多会浪费 100%。元数据单独存放,因此可用于对 GPU 堆、缓冲区和数组做子分配。
主要特点
- O(1) 的分配与释放,适合硬实时
- 按浮点尺度划分的 256 个桶
- 浪费最多 12.5%,平均 6.25%
- 元数据与被管理资源分开存放
- 返回连续区间的起始偏移量
适用场景
适合在对 GPU 缓冲区等资源做子分配时,需要可预测分配耗时的游戏和图形开发者。它管理的是偏移量,而不是内存本身。
- 上游仓库
- sebbbi/OffsetAllocator
- GitHub 上的 fork
- Guo-astro/OffsetAllocator
- 上游 Star 数
- 1.1k
- 分类
- 开发者工具与基础设施
- 许可证
- MIT
- Fork 时间
- 2025-10-24
- 同步状态
- 已同步上次同步 2026-10-19
同分类更多: 开发者工具与基础设施
这是一个用于紫微斗数排盘和查阅传统资料的开源TypeScript引擎,可用于开发排盘与解读工具。
Fork 时间 2026-10-18上次同步 2026-10-19许可证: MIT开发者工具与基础设施GitHub
ImHex是一款用于检查和编辑二进制文件的十六进制编辑器。逆向工程师、程序员和取证分析人员可以搜索和修改字节,或使用模式语言描述文件结构。
Fork 时间 2026-10-17上次同步 2026-10-19许可证: GPL-2.0开发者工具与基础设施GitHub
Numa是面向本地开发和隐私的便携式DNS解析器。它可拦截广告、为本地服务命名为frontend.numa,并在不依赖云服务的情况下运行DNS。
Fork 时间 2026-10-17上次同步 2026-10-19许可证: MIT开发者工具与基础设施GitHub
Handwired将常规JavaScript逻辑转换为可微分的神经网络式计算,并可通过JavaScript或WebGPU以矩阵运算执行,适合探索传统代码的GPU运行与优化。
Fork 时间 2026-10-16上次同步 2026-10-19许可证: MIT开发者工具与基础设施GitHub