부스트 소스 코드 내에서 조사를 수행 할 수 있으며 답변이있는 사람이 없다면 내 호기심에 대답 할 수 있습니다.boost :: interprocess_mutex와 Win32 네이티브 뮤텍스의 성능은 어떻습니까?
누군가가 이미이 비교를 수행하고 정식으로 대답 할 수 있기 때문에 나는 묻습니다.
프로세스간에 공유 메모리 매핑 된 파일을 만들고 InterlockedIncrement()
을 사용하여 구성하면 프로세스 간 동기화를 위해 Win32 뮤텍스보다 훨씬 더 뛰어난 CRITICAL_SECTION
과 비슷한 Usermode 뮤텍스를 만들 수 있습니다.
내 생각에 이런 식으로 구현 된 boost::interprocess_mutex
의 Win32 구현은 아마도 기본 API 제공보다 훨씬 빠를 것으로 예상됩니다.
그러나 나는 단지 가정을 가지고 있습니다. 필드 테스트를 통해 boost::interprocess_mutex
의 성능이 프로세스 간 동기화를위한 것인지 또는 구현을 자세히 조사했는지는 알 수 없습니다.
누구나 그것을 사용하거나 상대적인 성능을 프로파일 링 한 경험이 있거나 공유 메모리를 사용하는 프로세스에서 InterlockedIncrement()를 사용하는 데 대한 안전성에 대해 의견을 말할 수 있습니까?
질문을 이해하는 경우 뮤텍스보다 더 중요한 섹션을 묻는 것처럼 보입니다 (대답은 '예'입니다). 오해하는 경우 귀하의 질문에 대해 다시 말하십시오. –
크리티컬 섹션은 두 프로세스 간의 공유 메모리에서 생성 될 수 없으므로 프로세스 간 동기화를위한 후보 메커니즘이 아닙니다. –
@Neil - 게시판에 의견을 남겼습니다. –