<html>
<head>
<base href="https://bugs.webkit.org/" />
</head>
<body><span class="vcard"><a class="email" href="mailto:mcrha@redhat.com" title="Milan Crha <mcrha@redhat.com>"> <span class="fn">Milan Crha</span></a>
</span> changed
<a class="bz_bug_link
bz_status_NEW "
title="NEW - [GTK] Slow to render simple page with 20.000 lines"
href="https://bugs.webkit.org/show_bug.cgi?id=143868">bug 143868</a>
<br>
<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>What</th>
<th>Removed</th>
<th>Added</th>
</tr>
<tr>
<td style="text-align:right;">Attachment #251011 is obsolete</td>
<td>
</td>
<td>1
</td>
</tr></table>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - [GTK] Slow to render simple page with 20.000 lines"
href="https://bugs.webkit.org/show_bug.cgi?id=143868#c4">Comment # 4</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - [GTK] Slow to render simple page with 20.000 lines"
href="https://bugs.webkit.org/show_bug.cgi?id=143868">bug 143868</a>
from <span class="vcard"><a class="email" href="mailto:mcrha@redhat.com" title="Milan Crha <mcrha@redhat.com>"> <span class="fn">Milan Crha</span></a>
</span></b>
<pre>Created <span class=""><a href="attachment.cgi?id=251013" name="attach_251013" title="test-wk2.c">attachment 251013</a> <a href="attachment.cgi?id=251013&action=edit" title="test-wk2.c">[details]</a></span>
test-wk2.c
Updated test-wk2.c with measured times.
The webkitgtk4-2.8.1-1.fc22.x86_64 shows these times:
load_changed_cb: WEBKIT_LOAD_STARTED after 0.257252s
load_changed_cb: WEBKIT_LOAD_COMMITTED after 0.268599s
load_changed_cb: WEBKIT_LOAD_FINISHED after 2.59222s
while webkitgtk4-2.6.5-3.fc21.x86_64 shows:
load_changed_cb: WEBKIT_LOAD_STARTED after 0.098319s
load_changed_cb: WEBKIT_LOAD_COMMITTED after 0.101146s
load_changed_cb: WEBKIT_LOAD_FINISHED after 6.49957s
thus you clearly made some improvements already.
I suggest to run the test application under callgrind:
$ G_SLICE=always-malloc valgrind --tool=callgrind --trace-children=yes ./test-wk2
then use a tool like kcachegrind to examine the bottlenecks. I see (with the 2.6.5) 100 and 200 million-times called functions in the web process, which feels like a room for improvements, especially when the HTML document contains only 20K lines with a bit more tags in total.
I didn't run the callgrind with the 4.8.1, it's a virtual machine and there is not enough place for the debug info, without which the callgrind log is useless.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>