[webkit-changes] [WebKit/WebKit] 604de1: Avoid a dispatch() in IPC sending if we're already...

Simon Fraser noreply at github.com
Fri Jun 23 14:12:49 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 604de1a10add685f880174d4c16784f369c9e5eb
      https://github.com/WebKit/WebKit/commit/604de1a10add685f880174d4c16784f369c9e5eb
  Author: Simon Fraser <simon.fraser at apple.com>
  Date:   2023-06-23 (Fri, 23 Jun 2023)

  Changed paths:
    M Source/WebKit/Platform/IPC/Connection.cpp

  Log Message:
  -----------
  Avoid a dispatch() in IPC sending if we're already processing outgoing messages
https://bugs.webkit.org/show_bug.cgi?id=258427
rdar://111192703

Reviewed by Ben Nham and Chris Dumez.

Connection::sendMessage() would do a dispatch to the connection queue on every message
send, but this dispatch just triggers sendOutgoingMessages() to send things in the m_outgoingMessages
queue. So we only need to dispatch when this queue is empty.

This reduces the number of calls to dispatch() when loading amazon.com by about 18%.

If we're in the middle of dispatching normal-QOS messages and we're asked to dispach a higher QOS message,
dispatch anyway. It's not clear if this has the intended effect of boosting the priority of the already-running
dispatch work.

* Source/WebKit/Platform/IPC/Connection.cpp:
(IPC::Connection::sendMessage):

Canonical link: https://commits.webkit.org/265480@main




More information about the webkit-changes mailing list