Browse Source

#2286: Enable server-mode GC in ILSpy

This results in significant performance improvements when decompiling a project/solution, cutting the run-time in half.
pull/2301/head
Daniel Grunwald 4 years ago
parent
commit
2e1fdab869
  1. 11
      ICSharpCode.Decompiler/ICSharpCode.Decompiler.csproj
  2. 1
      ILSpy/Properties/app.config.template

11
ICSharpCode.Decompiler/ICSharpCode.Decompiler.csproj

@ -643,10 +643,11 @@ @@ -643,10 +643,11 @@
<Service Include="{508349b6-6b84-4df5-91f0-309beebad82d}" />
</ItemGroup>
<ItemGroup>
<UpdateAssemblyInfoStamp Include="obj\update-assemblyinfo-last-commit-hash.txt" />
</ItemGroup>
<Target Name="ILSpyUpdateAssemblyInfo" BeforeTargets="BeforeBuild">
<ItemGroup>
<UpdateAssemblyInfoStamp Include="obj\update-assemblyinfo-last-commit-hash.txt" />
</ItemGroup>
<PropertyGroup Condition=" '$(OS)' == 'Windows_NT' ">
<UpdateAssemblyInfo>powershell -NoProfile -ExecutionPolicy Bypass -File BuildTools/update-assemblyinfo.ps1 $(Configuration)</UpdateAssemblyInfo>
<GitRevParse>git rev-parse HEAD^^{commit}</GitRevParse>
@ -665,4 +666,8 @@ @@ -665,4 +666,8 @@
<WriteLinesToFile Lines="$(CommitHash)" File="@(UpdateAssemblyInfoStamp)" Overwrite="true" Condition="'$(CommitHash)'!='$(LastCommitHash)'" />
</Target>
<Target Name="CleanUpdateAssemblyInfo" BeforeTargets="BeforeClean">
<Delete Files="@(UpdateAssemblyInfoStamp)" />
</Target>
</Project>

1
ILSpy/Properties/app.config.template

@ -5,6 +5,7 @@ @@ -5,6 +5,7 @@
</startup>
<runtime>
<AppContextSwitchOverrides value="Switch.System.Windows.DoNotScaleForDpiChanges=false;Switch.System.IO.UseLegacyPathHandling=false;Switch.System.IO.BlockLongPaths=false" />
<gcServer enabled="true" />
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<!-- The redirects allow using AddIns with a different ILSpy version than they were compiled against. -->
<!-- No guarantee they'll work correctly, though (there might be breaking API changes in ILSpy). -->

Loading…
Cancel
Save