snmalloc:基于消息传递的分配器

时间:2021-04-06 23:26:13
【文件属性】:
文件名称:snmalloc:基于消息传递的分配器
文件大小:1.36MB
文件格式:ZIP
更新时间:2021-04-06 23:26:13
allocator memory-allocator malloc C++ snmalloc snmalloc是一种高性能的分配器。 snmalloc可以直接在一个项目作为仅标头C ++库被使用,它可以是LD_PRELOAD上精灵平台(例如Linux中,BSD)编,并有一个从锈使用它。 它的主要设计功能是: 由分配该线程的同一线程释放的内存不需要任何同步操作。 在不同的线程中释放内存以初始分配它,不进行任何锁定,而是使用新颖的消息传递方案将内存返回到原始分配器,在该处分配内存。 这样一来,仅使用单个原子操作即可执行数千个远程释放,从而实现内核数的大规模扩展。 分配器使用大范围的页面来减少所需的元数据量。 快速路径已高度优化,malloc快速路径上只有两个分支(在使用Clang编译Linux上)。 平台依赖关系被抽象出来,以允许移植到其他平台。 snmalloc的设计特别适合以下两个困难的情况,这对于其他分配器可能是有问题的: 一个线程上的分配由另

网友评论