-
Notifications
You must be signed in to change notification settings - Fork 3.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make ./wpt run [single test] quicker #15137
Comments
To give some rough ideas about perf: cProfile claims that Also looking at VMProf (which seems not to cope with threading locally?! so percentages are in no way comparable), it appears that the more expensive part of So it seems our biggest enemy is constructing all the manifest item instances, assuming the manifest update takes no time (which is, of course, unrealistic, but it can be much closer to zero, and if we need to redesign the manifest format again we need to know where the bottlenecks are after update). |
There exists a (some what fragile) optimistation to only construct instances on demand, but we are presumably not using it in this case. |
I don't see how or where? |
Right, if we insist on iterating all tests then obviously we don't use the optimisation. But the |
Vague to-do from the various things I've looked into in the past week:
|
It could be worth trying doing the serialization on a seperate thread. |
Ergh, profiling multiprocessing and multithreaded code is a pain. Doing some stupid wall clock profiling by just deleting code:
Those two things account for more than half the runtime currently… For the latter, we could probably try and do something smart like |
@gsnedders we've discussed it offline, but can you update this thread with the current plan to make things faster? |
With #16537 having landed:
|
The goal here is to make
time ./wpt run --headless --no-pause chrome infrastructure/assumptions/html-elements.html
take under 4s on my local laptop (MacBook Pro (Retina, 15-inch, Mid 2014), i7-4870HQ, 16GB RAM, macOS 10.14).The text was updated successfully, but these errors were encountered: