WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
100514
Lots of time spent under DNSResolveQueue::platformProxyIsEnabledInSystemPreferences
https://bugs.webkit.org/show_bug.cgi?id=100514
Summary
Lots of time spent under DNSResolveQueue::platformProxyIsEnabledInSystemPrefe...
Antti Koivisto
Reported
2012-10-26 06:38:24 PDT
DNSResolveQueue::platformProxyIsEnabledInSystemPreferences gets called for every link in the document. We should cache the result as the function is relatively slow and the result changes rarely.
Attachments
patch
(4.07 KB, patch)
2012-10-26 08:33 PDT
,
Antti Koivisto
andersca
: review+
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Antti Koivisto
Comment 1
2012-10-26 08:33:19 PDT
Created
attachment 170934
[details]
patch
Antti Koivisto
Comment 2
2012-10-26 08:49:49 PDT
http://trac.webkit.org/changeset/132664
Antti Koivisto
Comment 3
2012-10-26 08:50:55 PDT
<
rdar://problem/12376314
>
Alexey Proskuryakov
Comment 4
2012-10-26 09:06:08 PDT
Comment on
attachment 170934
[details]
patch View in context:
https://bugs.webkit.org/attachment.cgi?id=170934&action=review
Nice!
> Source/WebCore/ChangeLog:9 > + DNSResolveQueue::platformProxyIsEnabledInSystemPreferences gets called for every link in > + the document. The function is relatively slow.
This is not quite accurate, but close enough in effect. It happens (1) if the queue is empty, which should not affect performance, and (2) when firing the timer, which can indeed.
> Source/WebCore/ChangeLog:18 > + Add constructor. Also fixes a bug, m_requestsInFlight was not initialized.
This is a regression from <
http://trac.webkit.org/changeset/112396
>.
Alexey Proskuryakov
Comment 5
2012-10-26 09:07:24 PDT
> It happens (1) if the queue is empty, which should not affect performance, and (2) when firing the timer, which can indeed.
Hmm, I'm now seeing that my expectation was not correct. Strange.
Antti Koivisto
Comment 6
2012-10-26 09:27:13 PDT
(In reply to
comment #4
)
> This is not quite accurate, but close enough in effect. It happens (1) if the queue is empty, which should not affect performance, and (2) when firing the timer, which can indeed.
It was ~2% of the trace of a run over popular web sites. That's huge for a single function.
Antti Koivisto
Comment 7
2012-10-26 09:30:22 PDT
If the proxy is enabled (in the test case it is) the function gets invoked for every link separately.
Alexey Proskuryakov
Comment 8
2012-10-26 13:40:59 PDT
D'oh.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug