From ebcd7de26b376e86541076ad92e911aa7ab13bd8 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Mon, 22 Jun 2015 19:06:31 +0200 Subject: [PATCH] report meaningful init times for subsequent runs when -Xrepeat flag is used --- .../src/org/jetbrains/kotlin/cli/common/CLICompiler.java | 4 ++++ .../cli/src/org/jetbrains/kotlin/cli/jvm/K2JVMCompiler.kt | 6 +++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/common/CLICompiler.java b/compiler/cli/src/org/jetbrains/kotlin/cli/common/CLICompiler.java index 721bf5b9ce0..f69f42dbb30 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/common/CLICompiler.java +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/common/CLICompiler.java @@ -26,6 +26,7 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.kotlin.cli.common.arguments.CommonCompilerArguments; import org.jetbrains.kotlin.cli.common.messages.*; +import org.jetbrains.kotlin.cli.jvm.K2JVMCompiler; import org.jetbrains.kotlin.cli.jvm.compiler.CompileEnvironmentException; import org.jetbrains.kotlin.config.CompilerConfiguration; import org.jetbrains.kotlin.config.Services; @@ -156,6 +157,9 @@ public abstract class CLICompiler { } for (int i = 0; i < repeatCount; i++) { + if (i > 0) { + K2JVMCompiler.Companion.resetInitStartTime(); + } Disposable rootDisposable = Disposer.newDisposable(); try { MessageSeverityCollector severityCollector = new MessageSeverityCollector(groupingCollector); diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/K2JVMCompiler.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/K2JVMCompiler.kt index 2b9f00c23ed..069d53b60b1 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/K2JVMCompiler.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/K2JVMCompiler.kt @@ -51,7 +51,6 @@ import kotlin.platform.platformStatic SuppressWarnings("UseOfSystemOutOrSystemErr") public class K2JVMCompiler : CLICompiler() { - private val initStartNanos = System.nanoTime() override fun doExecute(arguments: K2JVMCompilerArguments, services: Services, messageCollector: MessageCollector, rootDisposable: Disposable): ExitCode { val messageSeverityCollector = MessageSeverityCollector(messageCollector) @@ -221,6 +220,11 @@ public class K2JVMCompiler : CLICompiler() { } companion object { + private var initStartNanos = System.nanoTime() + + public fun resetInitStartTime() { + initStartNanos = System.nanoTime() + } platformStatic public fun main(args: Array) { CLICompiler.doMain(K2JVMCompiler(), args)