我被要求编写测试用例来实际展示信号量和读写信号量在读者多而写者少的情况下的性能,反之亦然。 我已经实现了信号量(在内核空间中我们实际上被问到)但不知道如何编写用例并对其进行现场实际评估(明确地)。
最佳答案
为什么不直接编写代码的两个版本(Semaphore/R/W Semaphore)来开始。用例将取决于所测试的实际功能。它是一个设备驱动程序吗?它是否与 IO 相关?跟网络有关吗?不知道这一点就很难想出用例。
一般来说,我会为 IO 基准测试之类的东西做的是在一组运行的内存占用量增加的情况下运行多个模拟。另一组运行可能会超过不断增加的进程负载。另一个可能超过不同的 block 大小。我会将其中的每一个与诸如聚合带宽之类的东西进行比较,看看性能(在这种情况下是聚合带宽)在这些测试中是如何变化的。
同样,如果您正在测试 USB 驱动程序之类的东西,您的用例可能会完全不同。
关于linux - Semaphore 和 R/W Semaphore 的性能评估,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17949999/