-
Notifications
You must be signed in to change notification settings - Fork 89
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Optimize loadTreeForQuery by filtering eagerly in ParamsBuilder (#2890)
* nit: simplify constructions of RunCaseSpecific * Optimize loadTreeForQuery by filtering eagerly in ParamsBuilder Previously, if you load a query like `webgpu:api,validation,encoding,cmds,render,draw:vertex_buffer_OOB:type="draw";VBSize="exile";IBSize="exile";VStride0=false;IStride0=true;AStride="zero";offset=1` or `webgpu:api,validation,encoding,cmds,render,draw:vertex_buffer_OOB:type="draw";VBSize="exile";IBSize="exile";*` loadTreeForQuery would iterate *all* of the cases for that test `webgpu:api,validation,encoding,cmds,render,draw:*` and filter out the wrong ones at the very end. This changes the ParamsBuilder iteration to be filter-aware, so it doesn't even start generating any of the subspaces of the combinatorial space that it can already see have a mismatch. For the case above, this improves the runtime of loadTreeForQuery from 205ms to ~2ms (100x faster!). This saves tons of time if tests are run in a way where loadTreeForQuery is called for many sub-test or single-case queries (as is done in Chromium). Bug: https://crbug.com/1470849
- Loading branch information
Showing
7 changed files
with
233 additions
and
151 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.