report meaningful init times for subsequent runs when -Xrepeat flag is used

This commit is contained in:
Dmitry Jemerov
2015-06-22 19:06:31 +02:00
parent 669cd9e514
commit ebcd7de26b
2 changed files with 9 additions and 1 deletions
@@ -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<A extends CommonCompilerArguments> {
}
for (int i = 0; i < repeatCount; i++) {
if (i > 0) {
K2JVMCompiler.Companion.resetInitStartTime();
}
Disposable rootDisposable = Disposer.newDisposable();
try {
MessageSeverityCollector severityCollector = new MessageSeverityCollector(groupingCollector);
@@ -51,7 +51,6 @@ import kotlin.platform.platformStatic
SuppressWarnings("UseOfSystemOutOrSystemErr")
public class K2JVMCompiler : CLICompiler<K2JVMCompilerArguments>() {
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<K2JVMCompilerArguments>() {
}
companion object {
private var initStartNanos = System.nanoTime()
public fun resetInitStartTime() {
initStartNanos = System.nanoTime()
}
platformStatic public fun main(args: Array<String>) {
CLICompiler.doMain(K2JVMCompiler(), args)