Description
Describe the bug
Recently, we encountered a performance issue with Coverlet during our CI pipeline processes.
Before executing dotnet test
, we preprocess our CI build files to generate a runsettings file. This file specifies which assemblies to include and exclude based on pattern matching.
The output directory ends up containing over 350 assemblies, including framework ones. Within this, the include section lists 54 patterns in the format [Assembly1]*,[Assembly2]*
, while the exclude section contains 301 patterns, also specified in a similar manner.
To Reproduce
Setup runsettings
file and add Include and Exclude sections. Make sure that output folder contains a lot of modules.
Solution that reproduces issue https://github.com/BlackGad/Coverlet.Issue
Expected behavior
Much faster processing
Actual behavior
Slow performance
Configuration (please complete the following information):
Please provide more information on your .NET configuration:
* Which coverlet package and version was used? - 6.0.2
* Which version of .NET is the code running on? - Net8.0
* What OS and version, and what distro if applicable? - Windows
* What is the architecture (x64, x86, ARM, ARM64)? - x64
* Do you know whether it is specific to that configuration? - Not related
Additional context
Link to solution with issue reproduce https://github.com/BlackGad/Coverlet.Issue
Link to PR that fixes issue #1645