我在阅读this post关于给定测试用例的临界区和互斥体之间的C#性能差异。我在怀疑是否有任何进一步的文档给C++应用程序的各种锁定类提供性能开销,特别是在Windows 32或64位平台上运行的MFC?C++中互斥锁和临界区之间的性能差异
我问的原因是,我在广泛的自动化测试中得到的分析器结果显示在互斥代码中花费了大量时间。我试图弄清楚的是,在等待资源变得可用的时候,这是多少是合理的延迟,以及锁定结构的实现和具体情况。我只处理一个包含多个线程的进程,并且正在考虑更改为关键部分。长期自动化测试表明,我不需要互斥类提供的超时。
因此,这个问题是否有人知道任何有关不同Windows平台上不同MFC锁定机制的性能开销的参考文档?
链接问题的答案也完全适用于MFC。因为像C#一样,MFC类(如'CMutex'或'CCriticalSection')只不过是相应的Win32功能的包装。 –
感谢Christian,我有点期待这一点,但想知道结果是语言依赖的,是否依赖硬件等等,以及是否有任何关于表现的硬性信息。根据Mark Ingram的回答,建议临界区域的MS文件只是“略快”而出现误导。 –