mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-29 15:52:07 +00:00
4e2cf97309
Currently we walk through the entire list of not-yet-written IPC buffers when building the gathered I/O list for `sendmsg`, to determine the total remaining length of the messages, even after reaching the OS's limit on how many `iovec`s it will accept in one call. This patch halts the iteration when we reach the `iovec` limit, because we don't need the exact length; it's sufficient to know whether the entire message was written, which is impossible in that case. This increases throughput on large messages by about 7x on macOS (from ~0.04 to ~0.3 GB/s) and 1.7x on Linux (from ~0.3 to ~0.5 GB/s), on my test machines. The effect is more significant on macOS because its smaller socket buffer size (8kB vs. ~200kB) means we spend more time setting up the syscall per unit data copied; see also the next patch. Differential Revision: https://phabricator.services.mozilla.com/D105851 |
||
---|---|---|
.. | ||
app | ||
chromium | ||
contentproc | ||
glue | ||
gtest | ||
ipdl | ||
mscom | ||
testshell | ||
moz.build | ||
pull-chromium.py |