简体   繁体   English

是否有针对多线程内存分配器的验证套件?

[英]Is there a validation suite for multithreaded memory allocators?

I will soon be distributing a C++ concurrency framework that includes 64-bit multithreaded memory allocation services with particular advantages. 我将很快发布一个C ++并发框架,其中包括具有特殊优势的64位多线程内存分配服务。 Although it has been tested and used for years (Windows7), and seemingly flawless, I really want validation from an independent source, to give my users the same confidence in using these services that I have. 虽然它已经过多年的测试和使用(Windows7),并且看似完美无缺,但我真的希望从独立的来源进行验证,让我的用户对使用这些服务有同样的信心。 And if I am really lucky and fortunate, such testing will reveal further defects (to resolve). 如果我真的很幸运和幸运,这样的测试将揭示进一步的缺陷(解决)。 Obviously, we can already test this material quilte effectively. 显然,我们已经可以有效地测试这种材料绗缝了。 But a publicly recognized validation suite is what I am ask about here. 但是我在这里要求公开认可的验证套件。

TCMalloc contains a unit test program t-test1.c which they say TCMalloc包含一个单元测试程序t- test1.c

forks a number of threads and performs a series of allocations and deallocations in each thread; 分叉多个线程并在每个线程中执行一系列分配和释放; the threads do not communicate other than by synchronization in the memory allocator. 除了内存分配器中的同步之外,线程不进行通信。

The emphasis seems to be performance testing (number of random allocations and deallocations per second as a function of the number of concurrent threads). 重点似乎是性能测试(随机分配的数量和每秒的解除分配数量作为并发线程数量的函数)。

I think forks a number of threads is poor wording, perhaps creates a number of threads would be better, otherwise one might get the impression they are forking new processes and the whole purpose is to have multiple threads sharing the same heap in the same virtual address space. 我认为forks a number of threads是不好的措辞,也许creates a number of threads会更好,否则可能会得到他们分支新进程的印象,而整个目的是让多个线程在同一个虚拟地址中共享同一个堆空间。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM