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).
Created attachment 70791 [details]
Do other ports have the same timer mechanism? I assume there is no drawback with this patch ...
Comment on attachment 70791 [details]
Clearing flags on attachment: 70791
Committed r69839: <http://trac.webkit.org/changeset/69839>
All reviewed patches have been landed. Closing bug.
before the patch: 3684.45s total testing time
after patch landed: 1415.56s total testing time
Thanks for the speedup. ;)
(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 ;)