From 7f8d641501fe1bd71c989aab25ccbdb5ddb0726f Mon Sep 17 00:00:00 2001 From: Christoph Wille Date: Sat, 15 Aug 2026 14:48:29 +0200 Subject: [PATCH 1/2] Use server GC for the decompiler test suite The suite keeps one NUnit worker per logical CPU busy with allocation-heavy decompiles (223 GB allocated per run), so under workstation GC every gen0/gen1 collection any worker triggers suspends the whole process. Measured on a 24-thread Windows box (Debug, ILSpy-tests checked out): 27,229 gen0 / 6,919 gen1 collections and 305 s of total GC pause in a 553 s run, at 45% average CPU. With server GC the same run takes 310 s, 1,251 gen0 / 492 gen1, 14 s of pause, 80% CPU, for the same ~46 min of processor time; the in-suite roundtrip decompiles drop 2-3x (Random_TestCase_1 353 s -> 133 s, ExplicitConversions 319 s -> 136 s, NRefactory_CSharp 337 s -> 156 s). Standalone ilspycmd timings are unaffected, which is what pointed at contention inside the test process rather than decompiler cost. Assisted-by: Claude:claude-fable-5:Claude Code --- .../ICSharpCode.Decompiler.Tests.csproj | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ICSharpCode.Decompiler.Tests/ICSharpCode.Decompiler.Tests.csproj b/ICSharpCode.Decompiler.Tests/ICSharpCode.Decompiler.Tests.csproj index 58ebff48bd..714454f75b 100644 --- a/ICSharpCode.Decompiler.Tests/ICSharpCode.Decompiler.Tests.csproj +++ b/ICSharpCode.Decompiler.Tests/ICSharpCode.Decompiler.Tests.csproj @@ -18,6 +18,12 @@ True + + true