Skip to content
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

Improve performance of test partitioning #68172

Merged
merged 1 commit into from
Apr 19, 2022

Conversation

trylek
Copy link
Member

@trylek trylek commented Apr 18, 2022

I have noticed a perf bug I made as part of the refactoring for
merged test wrapper support. When there are no merged wrappers
available due to test filtering (using the test / dir / tree
commands-line argument), %(MergedAssemblyParentFolders.Identity)
expands to an empty string at line 397 and AllRunnablePaths
effectively search the entire HDD for tests to remove. In my
case it reduced the running time of GetListOfTestCmds from 23
minutes to 3 milliseconds.

Thanks

Tomas

/cc @dotnet/runtime-infrastructure

I have noticed a perf bug I made as part of the refactoring for
merged test wrapper support. When there are no merged wrappers
available due to test filtering (using the test / dir / tree
commands-line argument), %(MergedAssemblyParentFolders.Identity)
expands to an empty string at line 397 and AllRunnablePaths
effectively search the entire HDD for tests to remove. In my
case it reduced the running time of GetListOfTestCmds from 23
minutes to 3 milliseconds.

Thanks

Tomas
@ghost
Copy link

ghost commented Apr 18, 2022

Tagging subscribers to this area: @hoyosjs
See info in area-owners.md if you want to be subscribed.

Issue Details

I have noticed a perf bug I made as part of the refactoring for
merged test wrapper support. When there are no merged wrappers
available due to test filtering (using the test / dir / tree
commands-line argument), %(MergedAssemblyParentFolders.Identity)
expands to an empty string at line 397 and AllRunnablePaths
effectively search the entire HDD for tests to remove. In my
case it reduced the running time of GetListOfTestCmds from 23
minutes to 3 milliseconds.

Thanks

Tomas

/cc @dotnet/runtime-infrastructure

Author: trylek
Assignees: -
Labels:

area-Infrastructure-coreclr

Milestone: -

@trylek
Copy link
Member Author

trylek commented Apr 19, 2022

Known infra issue on Windows arm64 is unrelated to this change, merging in.

@trylek trylek merged commit 544f720 into dotnet:main Apr 19, 2022
@trylek trylek deleted the TestPartitioningPerfFix branch April 19, 2022 00:38
directhex pushed a commit to directhex/runtime that referenced this pull request Apr 21, 2022
I have noticed a perf bug I made as part of the refactoring for
merged test wrapper support. When there are no merged wrappers
available due to test filtering (using the test / dir / tree
commands-line argument), %(MergedAssemblyParentFolders.Identity)
expands to an empty string at line 397 and AllRunnablePaths
effectively search the entire HDD for tests to remove. In my
case it reduced the running time of GetListOfTestCmds from 23
minutes to 3 milliseconds.

Thanks

Tomas
@ghost ghost locked as resolved and limited conversation to collaborators May 19, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants