New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 743260 link

Starred by 2 users

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug



Sign in to add a comment

Async Mojo calls are slower than IPC macros

Project Member Reported by jam@chromium.org, Jul 14 2017

Issue description

See this thread: https://groups.google.com/a/chromium.org/forum/#!topic/speed/6UwVwIdbZlY for details

For sending 144 byte string, IPC with the old IPC::ChannelWin takes 32us while Mojo takes 39us. IPC layered mojo takes 59us. Maybe we don't care about the latter case since it's temporary and there'll be overhead of layering. It would be nice to see if we can say that for the average IPC, Mojo isn't slower (that might mean the 144 byte string example isn't realistic, so finding out a better example).

Here's a cl that brings back IPC::ChannelWin for testing: https://chromium-review.googlesource.com/c/572140/
 

Comment 1 by jam@chromium.org, Jul 14 2017

I'm curious how much of the extra performance cost is due to mojo bindings vs the low level parts that allow a mojo pipe to be unbound and bound again. If a non-trivial amount is due to the latter, could we perhaps annotate pipes that need to be moved around, and they would go through a slower code path? Pipes that are only bound once could go through a faster codepath?
Components: Internals>Mojo
Cc: -roc...@chromium.org rockot@google.com

Sign in to add a comment