是否有用于多线程内存分配器的验证套件

Is there a validation suite for multithreaded memory allocators?

本文关键字:验证 套件 分配器 内存 用于 多线程 是否      更新时间:2023-10-16

我将很快发布一个C++并发框架,该框架包括具有特定优势的64位多线程内存分配服务。尽管它已经测试和使用了多年(Windows7),而且看起来完美无瑕,但我真的希望来自独立来源的验证,让我的用户对使用这些服务有和我一样的信心。如果我真的很幸运,这样的测试将揭示更多的缺陷(需要解决)。显然,我们已经可以有效地测试这种材料的绗缝了。但我在这里要问的是一个公众认可的验证套件。

TCMalloc包含一个单元测试程序t-test1.c,他们称之为

分叉多个线程,并在每个线程中执行一系列分配和解除分配;线程除了通过内存分配器中的同步之外不进行通信。

重点似乎是性能测试(每秒随机分配和释放的数量是并发线程数量的函数)。

我认为forks a number of threads的措辞不好,也许creates a number of threads会更好,否则人们可能会觉得他们正在分叉新进程,整个目的是让多个线程在同一虚拟地址空间中共享同一堆。