minor: Switch to simpler descending sort, reduce dependency

This commit is contained in:
Ilya Chernikov
2016-04-25 12:56:07 +02:00
parent 551aa7047e
commit 336226ac9e
2 changed files with 4 additions and 5 deletions
@@ -28,7 +28,7 @@ import java.io.PrintStream
import java.rmi.server.UnicastRemoteObject import java.rmi.server.UnicastRemoteObject
import java.util.concurrent.Semaphore import java.util.concurrent.Semaphore
import java.util.concurrent.TimeUnit import java.util.concurrent.TimeUnit
import kotlin.comparisons.* import kotlin.comparisons.compareByDescending
import kotlin.concurrent.thread import kotlin.concurrent.thread
@@ -259,7 +259,7 @@ object KotlinCompilerClient {
val aliveWithOpts = walkDaemons(registryDir, compilerId, report = report) val aliveWithOpts = walkDaemons(registryDir, compilerId, report = report)
.map { Pair(it, it.getDaemonJVMOptions()) } .map { Pair(it, it.getDaemonJVMOptions()) }
.filter { it.second.isGood } .filter { it.second.isGood }
.sortedWith(compareBy(DaemonJVMOptionsMemoryComparator().reversed(), { it.second.get() })) .sortedWith(compareByDescending(DaemonJVMOptionsMemoryComparator(), { it.second.get() }))
val optsCopy = daemonJVMOptions.copy() val optsCopy = daemonJVMOptions.copy()
// if required options fit into fattest running daemon - return the daemon and required options with memory params set to actual ones in the daemon // if required options fit into fattest running daemon - return the daemon and required options with memory params set to actual ones in the daemon
return aliveWithOpts.firstOrNull()?.check { daemonJVMOptions memorywiseFitsInto it.second.get() }?.let { return aliveWithOpts.firstOrNull()?.check { daemonJVMOptions memorywiseFitsInto it.second.get() }?.let {
@@ -40,8 +40,7 @@ import java.util.concurrent.atomic.AtomicInteger
import java.util.concurrent.locks.ReentrantReadWriteLock import java.util.concurrent.locks.ReentrantReadWriteLock
import java.util.logging.Level import java.util.logging.Level
import java.util.logging.Logger import java.util.logging.Logger
import kotlin.comparisons.compareBy import kotlin.comparisons.compareByDescending
import kotlin.comparisons.reversed
import kotlin.concurrent.read import kotlin.concurrent.read
import kotlin.concurrent.schedule import kotlin.concurrent.schedule
import kotlin.concurrent.write import kotlin.concurrent.write
@@ -342,7 +341,7 @@ class CompileServiceImpl(
val aliveWithOpts = walkDaemons(File(daemonOptions.runFilesPathOrDefault), compilerId, filter = { f, p -> p != port }, report = { lvl, msg -> log.info(msg) }) val aliveWithOpts = walkDaemons(File(daemonOptions.runFilesPathOrDefault), compilerId, filter = { f, p -> p != port }, report = { lvl, msg -> log.info(msg) })
.map { Pair(it, it.getDaemonJVMOptions()) } .map { Pair(it, it.getDaemonJVMOptions()) }
.filter { it.second.isGood } .filter { it.second.isGood }
.sortedWith(compareBy(DaemonJVMOptionsMemoryComparator().reversed(), { it.second.get() })) .sortedWith(compareByDescending(DaemonJVMOptionsMemoryComparator(), { it.second.get() }))
if (aliveWithOpts.any()) { if (aliveWithOpts.any()) {
val fattestOpts = aliveWithOpts.first().second.get() val fattestOpts = aliveWithOpts.first().second.get()
// second part of the condition means that we prefer other daemon if is "equal" to the current one // second part of the condition means that we prefer other daemon if is "equal" to the current one