Skip to content

[BUG] Low modules filtering performance #1646

Closed
@BlackGad

Description

@BlackGad

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions