Я читал в этом посте о различиях производительности в C # между критическими секциями и мьютексами для данного тестового примера. Я задаюсь вопросом, есть ли какая-либо дополнительная документация, которая дает накладные расходы производительности для различных классов блокировки для приложения C ++, особенно MFC, работающего на платформе Windows 32 или 64 бита?
Причина, по которой я спрашиваю, состоит в том, что результаты профилировщика, которые я получаю в ходе широких автоматических тестов, показывают много времени, проведенного в мьютекс-коде. Я пытаюсь выяснить, насколько это разумная задержка в ожидании, когда ресурс станет доступным, и сколько из-за реализации и особенностей структуры блокировки. Я имею дело только с одним процессом, который включает в себя несколько потоков, и рассматриваю возможность перехода к критическим разделам. Долгосрочное автоматическое тестирование показывает, что мне не нужны тайм-ауты, предлагаемые классом мьютекса.
Отсюда вопрос: кто-нибудь знает какую-либо справочную документацию, касающуюся издержек производительности различных механизмов блокировки MFC на разных платформах Windows?