-
Notifications
You must be signed in to change notification settings - Fork 296
[perf-improver] Monthly Activity 2026-06 #8933
Copy link
Copy link
Open
Labels
area/performanceRuntime / build performance / efficiency.Runtime / build performance / efficiency.performancetype/automationCreated or maintained by an agentic workflow.Created or maintained by an agentic workflow.
Metadata
Metadata
Assignees
Labels
area/performanceRuntime / build performance / efficiency.Runtime / build performance / efficiency.performancetype/automationCreated or maintained by an agentic workflow.Created or maintained by an agentic workflow.
Type
Fields
Give feedbackNo fields configured for issues without a type.
🤖 Perf Improver here - I'm an automated AI assistant focused on performance improvements for this repository.
Activity for June 2026
Suggested Actions for Maintainer
perf-assist/cache-generate-lines-buffers: Eliminate 5 per-tick allocations inGenerateLinesToRendervia cached buffers (~12,000 allocs eliminated per 5-min run) — PRsPerformance Opportunities Backlog
GenerateLinesToRenderList<object>heterogeneous boxing — consider a sealed base type to avoid type checks; lower priorityTestNodeResultsState.GetRunningTasks()— still allocates a newList<TestDetailState>per assembly per tick; could be cached similarlyDiscovered Commands
./build.sh -build -c Debug(Linux)./build.shartifacts/bin/Microsoft.Testing.Platform.UnitTests/Debug/net8.0/Microsoft.Testing.Platform.UnitTeststest/Performance/MSTest.Performance.Runner— usesdotnet-trace,PerfView,VSDiagnostics,ConcurrencyVisualizerbuild.shinstalls pinned SDK into.dotnet/Run History
2026-06-10 14:52 UTC - Run
perf-assist/cache-ansi-cursor-sequences) — MERGED by Evangelinkperf-assist/cache-generate-lines-buffers: cacheGenerateLinesToRenderworking buffers — eliminates 5 allocs/tick (4 collections + sort closure), ~12,000 eliminated per 5-min run2026-06-09 14:21 UTC - Run
GetLongestRunningTaskO(n) scan for SimpleTerminal) — MERGED by EvangelinkAnsiTerminalTestProgressFrame.Render()duration-only pathperf-assist/cache-ansi-cursor-sequences: cache ANSI cursor-positioning strings — 4 allocs → 0 per item per tick, ~24 000 eliminations per 5-min run2026-06-08 14:47 UTC - Run
perf: add GetLongestRunningTask to avoid list allocation in SimpleTerminal— O(n log n) sort + List alloc → O(n) scan, ~6 000 allocs eliminated per 5-min runtest/Performance/MSTest.Performance.Runnerexists with dotnet-trace/PerfView profiling; no BenchmarkDotNet microbenchmarks present2026-06-06 14:09 UTC - Run
AnsiTerminalTestProgressFramevia double-buffer swap (~3 000 allocs/5-min run eliminated) — MERGED 2026-06-072026-06-05 14:xx UTC - Run
HumanReadableDurationFormatter.Render(3–4 allocs → 1 per call) — MERGED 2026-06-07Earlier runs (merged PRs)
GetLongestRunningTask()O(n) scan forSimpleTerminal.RenderProgress— MERGED 2026-06-09VSTestBridge ObjectModelConverters— MERGED 2026-06-05AnsiTerminal.SetColor+HashSetforKnownFileExtensions— MERGEDAsynchronousMessageBus— MERGEDAnsiDetectorwith direct string comparisons — MERGEDAdd this agentic workflows to your repo
To install this agentic workflow, run