[Webkit-unassigned] [Bug 132229] Coalesce responses on network process side
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Tue Apr 29 15:25:06 PDT 2014
https://bugs.webkit.org/show_bug.cgi?id=132229
--- Comment #19 from Antti Koivisto <koivisto at iki.fi> 2014-04-29 15:25:26 PST ---
> I find this explanation implausible. There must be something else at play.
For example the network process side profiles for sending messages (over PLT run) look like this:
Running Time Self Symbol Name
501.0ms 6.0% 1,0 bool IPC::Connection::send<Messages::WebResourceLoader::DidReceiveResponseWithCertificateInfo>(Messages::WebResourceLoader::DidReceiveResponseWithCertificateInfo&&, unsigned long long, unsigned int)
425.0ms 5.1% 1,0 IPC::ArgumentCoder<WebCore::ResourceResponse>::encode(IPC::ArgumentEncoder&, WebCore::ResourceResponse const&)
66.0ms 0.7% 1,0 IPC::Connection::sendMessage(std::__1::unique_ptr<IPC::MessageEncoder, std::__1::default_delete<IPC::MessageEncoder> >, unsigned int)
Running Time Self Symbol Name
306.0ms 3.6% 0,0 bool IPC::Connection::send<Messages::WebResourceLoader::DidReceiveData>(Messages::WebResourceLoader::DidReceiveData&&, unsigned long long, unsigned int)
229.0ms 2.7% 0,0 IPC::ArgumentEncoder::encodeVariableLengthByteArray(IPC::DataReference const&)
67.0ms 0.8% 3,0 IPC::Connection::sendMessage(std::__1::unique_ptr<IPC::MessageEncoder, std::__1::default_delete<IPC::MessageEncoder> >, unsigned int)
Running Time Self Symbol Name
63.0ms 0.7% 1,0 bool IPC::MessageSender::send<Messages::WebResourceLoader::DidFinishResourceLoad>(Messages::WebResourceLoader::DidFinishResourceLoad const&, unsigned long long, unsigned int)
58.0ms 0.7% 1,0 IPC::MessageSender::sendMessage(std::__1::unique_ptr<IPC::MessageEncoder, std::__1::default_delete<IPC::MessageEncoder> >, unsigned int)
54.0ms 0.6% 1,0 IPC::Connection::sendMessage(std::__1::unique_ptr<IPC::MessageEncoder, std::__1::default_delete<IPC::MessageEncoder> >, unsigned int)
2.0ms 0.0% 2,0 non-virtual thunk to WebKit::NetworkResourceLoader::messageSenderConnection()
1.0ms 0.0% 1,0 DYLD-STUB$$operator new(unsigned long)
Simply combining sendMessage calls (practically all combine) wins 1.5% of main thread time. A portion of encodeVariableLengthByteArray overhead (2.7%) will go away as well as we now do do a single encode per resource instead of multiple ones.
There are comparable wins in receiving web process side. Does this make it sound more plausible? These things are not free.
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list