chromium / vs-chromium

A Visual Studio extension containing a collection of tools to help contributing code to the Chromium project.
BSD 3-Clause "New" or "Revised" License
310 stars 88 forks source link

Add support for more than 64 logical processors (process groups) #57

Open rpaquay opened 4 years ago

rpaquay commented 4 years ago

As a .NET app, the VsChromium server process will only use one process group by default. This limits the # of cores to 64 maximum.

According to https://docs.microsoft.com/en-us/dotnet/framework/configure-apps/file-schema/runtime/thread-useallcpugroups-element, a simple change to the app.config file enables support for more than 64 logical processors:

app.config

<configuration>
   <runtime>
      <Thread_UseAllCpuGroups enabled="true"/>
      <GCCpuGroup enabled="true"/>
      <gcServer enabled="true"/>
   </runtime>
</configuration>
rpaquay commented 4 years ago

Note: Unfortunately, things are not as simple. After adding the app.config file shown in the #57, the VsChromium server memory usage grew by almost 20% on a 72 Core machine (192GB RAM).

When loading a project with more than 1,500,000 files, memory usage (Working Set and Commit size) grew by 1.2GB and 2.2GB respectively.

Before: