Bug 47695

Summary: [Qt] WTR is sloooow
Product: WebKit Reporter: Balazs Kelemen <kbalazs>
Component: Tools / TestsAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: ossy, tonikitoo
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: PC   
OS: All   
Attachments:
Description Flags
proposed patch none

Description Balazs Kelemen 2010-10-14 15:49:54 PDT
Currently WTR is way slower than DRT. One of the reasons is that the timer interval in
the RunUntilConditionLoop (that lives in TestControllerQt.cpp) is too big so we do not detect
that the test had been finished at the web process side as soon as possible. With a 1 millisecond
interval it runs passing tests almost a magnitude faster (I have tried it with LayoutTests/http and
the result was 22.19 seconds against 146.34).
Comment 1 Balazs Kelemen 2010-10-14 15:55:30 PDT
Created attachment 70791 [details]
proposed patch
Comment 2 Antonio Gomes 2010-10-14 16:49:09 PDT
Do other ports have the same timer mechanism? I assume there is no drawback with this patch ...
Comment 3 Csaba Osztrogonác 2010-10-14 23:32:12 PDT
Comment on attachment 70791 [details]
proposed patch

Clearing flags on attachment: 70791

Committed r69839: <http://trac.webkit.org/changeset/69839>
Comment 4 Csaba Osztrogonác 2010-10-14 23:32:21 PDT
All reviewed patches have been landed.  Closing bug.
Comment 5 Csaba Osztrogonác 2010-10-15 00:02:03 PDT
before the patch: 3684.45s total testing time
after patch landed: 1415.56s total testing time

Thanks for the speedup. ;)
Comment 6 Balazs Kelemen 2010-10-15 01:27:13 PDT
(In reply to comment #2)
> Do other ports have the same timer mechanism? I assume there is no drawback with this patch ...

They have more direct API for that task. See the implementation of
TestController::runUntil in TestControllerWin.cpp and TestControllerMac.cpp.
If you have an idea about how can we do it more effectively, feel free to
rewrite my stuff ;)