Starting new-run-webkit-tests take a really long time even if it was running one child process. Compare the following two commands:
Tools/Scripts/old-run-webkit-tests --debug LayoutTests/editing/undo
Tools/Scripts/new-run-webkit-tests --debug LayoutTests/editing/undo
The latter spends as much as time as the former just to spin up DRT.
Yeah, this is an important area for us to improve. For example, we always spin up the HTTP and WebSocket servers, even when they're not needed.
Agreed. Thank you for the report. I'm focusing on getting the rest of the bots over to NRWT, but this is very high on my list once that's done.
(In reply to comment #1)
> Yeah, this is an important area for us to improve. For example, we always spin up the HTTP and WebSocket servers, even when they're not needed.
Really? That didn't used to be the case. (I believe we now start the WebSocket server if we only need the HTTP server -- which is a bug -- but we shouldn't start either if we don't need either).
I think I was confused. Pls ignore me. :)
I recently profiled NRWT. We spend all our time in the worker. I don't yet have a good way to profile the worker processes, but will add one. See also bug 65268.
You can start by running with --worker-model=inline. I would be surprised if there was any significant performance difference between that and --worker-model=processes (for one child, obviously), but at least with the former you can profile the whole thing.
I think this is fixed now. I don't have a debug build handy, but using a release build and running your same test (LayoutTests/editing/undo), NRWT is faster than ORWT. (I was testing repeated runs of both tools, so everything in the filesystem was cached and total time was about 4.5 seconds to run all the tests).
Please re-open if you see something different.