jemalloc 作者自述:开发已陷入停滞
jemalloc内存分配器最初于2004年初构思,并且现在已公开使用了大约20年。由于开源软件许可的性质,jemalloc将无限期地保持公开可用。但积极的上游开发已结束。本文简要描述了jemalloc的发展阶段,每个阶段都有成功/失败的亮点,随后是一些回顾性的评论。 阶段0:Lyken 2004年,我在科学计算的背景下开始开发Lyken编程语言。Lyken最终成为了死胡同,但其手动内存分配器在2005年5月已经功能完整。(本应利用其功能的垃圾收集器从未完成。)2005年9月,我开始将分配器集成到FreeBSD中,并在2006年3月,为了使用线程特定数据和dlsym(3)实现的薄封装,我从Lyken中移除了分配器。 在投入了这么多精力之后,为什么又要从Lyken中移除内存分配器呢?一旦将分配器集成到FreeBSD后,就明显发现系统分配器的唯一缺失功能是跟踪分配量的机制,以便触发线程垃圾收集。而这可以通过使用线程特定数据和dlsym(3)的薄封装来实现。有趣的是,多年后,jemalloc甚至添加了Lyken需要的统计收集功能。 阶段1:FreeBSD 2005年,多处理器计算机的转变正在进...
