зеркало из https://github.com/mozilla/gecko-dev.git
fbe1612f10
In profiles of the regressing benchmarks, it appears that there is some amount of locking contention when large numbers of small messages messages over IPC. While the bulk of this contention is probably caused by the OnIOCompleted callbacks on the IO thread, there's not much we can do about those wake-ups. This patch tries to reduce the contention by avoiding acquiring the mutex when receiving IPC messages using the ChannelCapability introduced in part 1. I am hopeful that this will slightly improve performance, however it seems likely that there will still be slowdowns due to other parts (like NtWriteFile) not being easy to optimize. Future changes such as using a shared memory ring buffer for IPC on windows, or an approach like ipcz which uses shared memory to avoid signalling messages in some situations, may improve performance here in the future. Differential Revision: https://phabricator.services.mozilla.com/D161855 |
||
---|---|---|
.. | ||
gtest | ||
src | ||
chromium-config.mozbuild | ||
moz.build |