Bug 47695 - [Qt] WTR is sloooow
Summary: [Qt] WTR is sloooow
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC All
: P2 Normal
Assignee: Nobody
Depends on:
Reported: 2010-10-14 15:49 PDT by Balazs Kelemen
Modified: 2010-10-15 01:27 PDT (History)
2 users (show)

See Also:

proposed patch (1.18 KB, patch)
2010-10-14 15:55 PDT, Balazs Kelemen
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
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 ;)