You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This pull request refactors and improves the logic for generating benchmark comparison comments in Pipeline/Build.Benchmarks.cs. The main focus is on restructuring how benchmark tables are parsed, buffered, and rendered, especially to support clearer baseline injection and improved table formatting.
Benchmark table processing and formatting improvements:
Introduced a TableRow record and a table buffer to accumulate table rows before rendering, allowing for more flexible processing and baseline injection. The logic for flushing the buffer and injecting baselines has been moved to a new FlushTableBuffer method.
Added logic to detect and strip common prefixes from benchmark row names, improving table readability. This is handled by the new FindCommonRowPrefix and ApplyHeaderAndPrefixStripping helper methods.
The summary comment now includes an explanatory note about baseline* rows only if a baseline was actually injected, making the output more relevant and less cluttered.
Improved the logic for identifying and bolding Mockolate rows, ensuring only relevant rows are highlighted and displayed in the correct format.
These changes collectively make the benchmark result comments more accurate, easier to read, and better structured for regression comparison.
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Refactors the benchmark PR-comment formatter in the Nuke build pipeline to improve table display names by buffering parsed table rows and applying common-prefix stripping before rendering (while preserving baseline injection and Mockolate-row emphasis).
Changes:
Buffer parsed markdown table rows and flush them as a unit at code-fence boundaries / non-table lines.
Add common-prefix detection and prefix stripping to shorten benchmark display names in the first column.
Keep baseline-row injection and Mockolate-row bolding, but apply them during the buffered flush pass.
This file contains hidden or 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
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request refactors and improves the logic for generating benchmark comparison comments in
Pipeline/Build.Benchmarks.cs. The main focus is on restructuring how benchmark tables are parsed, buffered, and rendered, especially to support clearer baseline injection and improved table formatting.Benchmark table processing and formatting improvements:
TableRowrecord and a table buffer to accumulate table rows before rendering, allowing for more flexible processing and baseline injection. The logic for flushing the buffer and injecting baselines has been moved to a newFlushTableBuffermethod.FindCommonRowPrefixandApplyHeaderAndPrefixStrippinghelper methods.baseline*rows only if a baseline was actually injected, making the output more relevant and less cluttered.These changes collectively make the benchmark result comments more accurate, easier to read, and better structured for regression comparison.