From f49ccb22abe756ff72ea616479a61cacd6a137b7 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Tue, 4 Aug 2015 16:12:05 +0200 Subject: [PATCH] report correct compiler init timings --- .../org/jetbrains/kotlin/cli/common/CLICompiler.java | 1 + .../src/org/jetbrains/kotlin/cli/jvm/K2JVMCompiler.kt | 11 ++++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) 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 0470c756be1..4c53a3cab1c 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/common/CLICompiler.java +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/common/CLICompiler.java @@ -60,6 +60,7 @@ public abstract class CLICompiler { @SuppressWarnings("UnusedDeclaration") // Used via reflection in CompilerRunnerUtil#invokeExecMethod @NotNull public ExitCode execAndOutputXml(@NotNull PrintStream errStream, @NotNull Services services, @NotNull String... args) { + K2JVMCompiler.Companion.resetInitStartTime(); return exec(errStream, services, MessageRenderer.XML, args); } 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 96ef1eca15e..db31a8b0894 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/K2JVMCompiler.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/K2JVMCompiler.kt @@ -207,8 +207,11 @@ public open class K2JVMCompiler : CLICompiler() { private fun createCoreEnvironment(rootDisposable: Disposable, configuration: CompilerConfiguration): KotlinCoreEnvironment { val result = KotlinCoreEnvironment.createForProduction(rootDisposable, configuration, EnvironmentConfigFiles.JVM_CONFIG_FILES) - val initNanos = System.nanoTime() - initStartNanos - reportPerf(configuration, "INIT: Compiler initialized in " + TimeUnit.NANOSECONDS.toMillis(initNanos) + " ms") + if (initStartNanos != 0L) { + val initNanos = System.nanoTime() - initStartNanos + reportPerf(configuration, "INIT: Compiler initialized in " + TimeUnit.NANOSECONDS.toMillis(initNanos) + " ms") + initStartNanos = 0L + } return result } @@ -230,7 +233,9 @@ public open class K2JVMCompiler : CLICompiler() { private var elapsedJITTime = 0L public fun resetInitStartTime() { - initStartNanos = System.nanoTime() + if (initStartNanos == 0L) { + initStartNanos = System.nanoTime() + } } platformStatic public fun main(args: Array) {