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] proposed patch
Do other ports have the same timer mechanism? I assume there is no drawback with this patch ...
Comment on attachment 70791 [details] proposed patch 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 ;)