我在閱讀this post關於給定測試用例的臨界區和互斥體之間的C#性能差異。我在懷疑是否有任何進一步的文檔給C++應用程序的各種鎖定類提供性能開銷,特別是在Windows 32或64位平臺上運行的MFC?C++中互斥鎖和臨界區之間的性能差異
我問的原因是,我在廣泛的自動化測試中得到的分析器結果顯示在互斥代碼中花費了大量時間。我試圖弄清楚的是,在等待資源變得可用的時候,這是多少是合理的延遲,以及鎖定結構的實現和具體情況。我只處理一個包含多個線程的進程,並且正在考慮更改爲關鍵部分。長期自動化測試表明,我不需要互斥類提供的超時。
因此,這個問題是否有人知道任何有關不同Windows平臺上不同MFC鎖定機制的性能開銷的參考文檔?
鏈接問題的答案也完全適用於MFC。因爲像C#一樣,MFC類(如'CMutex'或'CCriticalSection')只不過是相應的Win32功能的包裝。 –
感謝Christian,我有點期待這一點,但想知道結果是語言依賴的,是否依賴硬件等等,以及是否有任何關於表現的硬性信息。根據Mark Ingram的回答,建議臨界區域的MS文件只是「略快」而出現誤導。 –