src/Pure/Concurrent/multithreading.scala
changeset 79607 118504de9d0d
parent 79606 d1f060886590
child 79613 7a432595fb66
equal deleted inserted replaced
79606:d1f060886590 79607:118504de9d0d
    24       val Cores = """^\s*cpu cores\s*:\s*(\d+)\s*$""".r
    24       val Cores = """^\s*cpu cores\s*:\s*(\d+)\s*$""".r
    25 
    25 
    26       var physical: Option[Int] = None
    26       var physical: Option[Int] = None
    27       var physical_cores = Map.empty[Int, Int]
    27       var physical_cores = Map.empty[Int, Int]
    28 
    28 
    29       val cpuinfo = ssh.read(Path.explode("/proc/cpuinfo"))
    29       val result = ssh.execute("cat /proc/cpuinfo").check
    30       for (line <- Library.trim_split_lines(cpuinfo)) {
    30       for (line <- Library.trim_split_lines(result.out)) {
    31         line match {
    31         line match {
    32           case Physical(Value.Int(i)) => physical = Some(i)
    32           case Physical(Value.Int(i)) => physical = Some(i)
    33           case Cores(Value.Int(i))
    33           case Cores(Value.Int(i))
    34             if physical.isDefined && !physical_cores.isDefinedAt(physical.get) =>
    34             if physical.isDefined && !physical_cores.isDefinedAt(physical.get) =>
    35             physical_cores = physical_cores + (physical.get -> i)
    35             physical_cores = physical_cores + (physical.get -> i)