Skip to content

Reduce allocations when logging project configuration descriptions - #15003

Draft
davkean wants to merge 1 commit into
dotnet:mainfrom
davkean:dev/davkean/filter-logging-item-snapshots
Draft

davkean wants to merge 1 commit into
dotnet:mainfrom
davkean:dev/davkean/filter-logging-item-snapshots

Conversation

@davkean

@davkean davkean commented Sep 11, 2026

Copy link
Copy Markdown
Member

Reading project configuration descriptions copies every project item before discarding unrelated items. Only matching descriptions now incur snapshot allocations; locking, ordering, metadata isolation, and other consumers remain unchanged.

In the focused x64 .NET Framework benchmark with 10,000 unrelated items, allocations fall from about 1,024 KiB to 5 KiB per project-start event. This is not an end-to-end build measurement.

Avoid copying unrelated project items when the console logger reads
configuration descriptions. Keep snapshot locking, metadata isolation,
and unfiltered consumers unchanged.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 8013ed0f-9ede-4eb7-a35b-835c87d73e76
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant