Remove hyperthreading multiplier to improve performance.

Tests on my local machine show that the Hyperthreading multiplier is significantly hurting our builds times.

RELNOTES: Set build jobs equivalent to number of logical processors by default. Should improve build times significantly.
PiperOrigin-RevId: 178795078
diff --git a/src/main/java/com/google/devtools/build/lib/actions/LocalHostResourceManagerLinux.java b/src/main/java/com/google/devtools/build/lib/actions/LocalHostResourceManagerLinux.java
index b889742..19d0208 100644
--- a/src/main/java/com/google/devtools/build/lib/actions/LocalHostResourceManagerLinux.java
+++ b/src/main/java/com/google/devtools/build/lib/actions/LocalHostResourceManagerLinux.java
@@ -20,8 +20,6 @@
 import java.io.File;
 import java.io.IOException;
 import java.nio.charset.Charset;
-import java.util.HashSet;
-import java.util.Set;
 
 /**
  * This class estimates the local host's resource capacity for Linux.
@@ -38,11 +36,6 @@
     return getLogicalCpuCountHelper(content);
   }
 
-  private static int getPhysicalCpuCount(int logicalCpuCount) throws IOException {
-    String content = getCpuInfoContent();
-    return getPhysicalCpuCountHelper(logicalCpuCount, content);
-  }
-
   private static double getMemoryInMb()
       throws IOException, ProcMeminfoParser.KeywordNotFoundException {
     return getMemoryInMbHelper(MEM_INFO_FILE);
@@ -51,14 +44,11 @@
   public static ResourceSet getLocalHostResources() {
     try {
       int logicalCpuCount = getLogicalCpuCount();
-      int physicalCpuCount = getPhysicalCpuCount(logicalCpuCount);
       double ramMb = getMemoryInMb();
 
-      boolean hyperthreading = (logicalCpuCount != physicalCpuCount);
-      final double EFFECTIVE_CPUS_PER_HYPERTHREADED_CPU = 0.6;
       return ResourceSet.create(
           ramMb,
-          logicalCpuCount * (hyperthreading ? EFFECTIVE_CPUS_PER_HYPERTHREADED_CPU : 1.0),
+          logicalCpuCount,
           1.0,
           Integer.MAX_VALUE);
     } catch (IOException | ProcMeminfoParser.KeywordNotFoundException e) {
@@ -94,36 +84,6 @@
     return count;
   }
 
-  public static int getPhysicalCpuCountHelper(int logicalCpuCount, String content)
-      throws IOException {
-    // CPU count
-    Iterable<String> lines = NEWLINE_SPLITTER.split(content);
-    Set<String> uniq = new HashSet<>();
-    for (String line : lines) {
-      if (line.startsWith("physical id")) {
-        uniq.add(line);
-      }
-    }
-    int cpuCount = uniq.size();
-    if (cpuCount == 0) {
-      cpuCount = logicalCpuCount;
-    }
-
-    // core per CPU
-    uniq = new HashSet<>();
-    for (String line : lines) {
-      if (line.startsWith("core id")) {
-        uniq.add(line);
-      }
-    }
-    int coresPerCpu = uniq.size();
-    if (coresPerCpu == 0) {
-      coresPerCpu = 1;
-    }
-
-    return cpuCount * coresPerCpu;
-  }
-
   public static double getMemoryInMbHelper(String memInfoFileName)
       throws IOException, ProcMeminfoParser.KeywordNotFoundException {
     ProcMeminfoParser memInfo = new ProcMeminfoParser(memInfoFileName);
diff --git a/src/test/java/com/google/devtools/build/lib/actions/LocalHostResourceManagerLinuxTest.java b/src/test/java/com/google/devtools/build/lib/actions/LocalHostResourceManagerLinuxTest.java
index ba383dd..ef82dba 100644
--- a/src/test/java/com/google/devtools/build/lib/actions/LocalHostResourceManagerLinuxTest.java
+++ b/src/test/java/com/google/devtools/build/lib/actions/LocalHostResourceManagerLinuxTest.java
@@ -88,8 +88,6 @@
             "Hugepagesize:     2048 kB");
     String meminfoFile = scratch.file("test_meminfo_nonht", meminfoContent).getPathString();
     assertThat(LocalHostResourceManagerLinux.getLogicalCpuCountHelper(cpuinfoContent)).isEqualTo(1);
-    assertThat(LocalHostResourceManagerLinux.getPhysicalCpuCountHelper(1, cpuinfoContent))
-        .isEqualTo(1);
     // +/- 0.1MB
     assertThat(LocalHostResourceManagerLinux.getMemoryInMbHelper(meminfoFile))
         .isWithin(0.1)
@@ -184,8 +182,6 @@
             "Hugepagesize:     2048 kB");
     String meminfoFile = scratch.file("test_meminfo_ht", meminfoContent).getPathString();
     assertThat(LocalHostResourceManagerLinux.getLogicalCpuCountHelper(cpuinfoContent)).isEqualTo(2);
-    assertThat(LocalHostResourceManagerLinux.getPhysicalCpuCountHelper(2, cpuinfoContent))
-        .isEqualTo(1);
     // +/- 0.1MB
     assertThat(LocalHostResourceManagerLinux.getMemoryInMbHelper(meminfoFile))
         .isWithin(0.1)
@@ -338,8 +334,6 @@
             "Hugepagesize:     2048 kB");
     String meminfoFile = scratch.file("test_meminfo_amd", meminfoContent).getPathString();
     assertThat(LocalHostResourceManagerLinux.getLogicalCpuCountHelper(cpuinfoContent)).isEqualTo(4);
-    assertThat(LocalHostResourceManagerLinux.getPhysicalCpuCountHelper(4, cpuinfoContent))
-        .isEqualTo(4);
     // +/- 0.1MB
     assertThat(LocalHostResourceManagerLinux.getMemoryInMbHelper(meminfoFile))
         .isWithin(0.1)