report meaningful init times for subsequent runs when -Xrepeat flag is used
This commit is contained in:
@@ -26,6 +26,7 @@ import org.jetbrains.annotations.NotNull;
|
|||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
import org.jetbrains.kotlin.cli.common.arguments.CommonCompilerArguments;
|
import org.jetbrains.kotlin.cli.common.arguments.CommonCompilerArguments;
|
||||||
import org.jetbrains.kotlin.cli.common.messages.*;
|
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.cli.jvm.compiler.CompileEnvironmentException;
|
||||||
import org.jetbrains.kotlin.config.CompilerConfiguration;
|
import org.jetbrains.kotlin.config.CompilerConfiguration;
|
||||||
import org.jetbrains.kotlin.config.Services;
|
import org.jetbrains.kotlin.config.Services;
|
||||||
@@ -156,6 +157,9 @@ public abstract class CLICompiler<A extends CommonCompilerArguments> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0; i < repeatCount; i++) {
|
for (int i = 0; i < repeatCount; i++) {
|
||||||
|
if (i > 0) {
|
||||||
|
K2JVMCompiler.Companion.resetInitStartTime();
|
||||||
|
}
|
||||||
Disposable rootDisposable = Disposer.newDisposable();
|
Disposable rootDisposable = Disposer.newDisposable();
|
||||||
try {
|
try {
|
||||||
MessageSeverityCollector severityCollector = new MessageSeverityCollector(groupingCollector);
|
MessageSeverityCollector severityCollector = new MessageSeverityCollector(groupingCollector);
|
||||||
|
|||||||
@@ -51,7 +51,6 @@ import kotlin.platform.platformStatic
|
|||||||
|
|
||||||
SuppressWarnings("UseOfSystemOutOrSystemErr")
|
SuppressWarnings("UseOfSystemOutOrSystemErr")
|
||||||
public class K2JVMCompiler : CLICompiler<K2JVMCompilerArguments>() {
|
public class K2JVMCompiler : CLICompiler<K2JVMCompilerArguments>() {
|
||||||
private val initStartNanos = System.nanoTime()
|
|
||||||
|
|
||||||
override fun doExecute(arguments: K2JVMCompilerArguments, services: Services, messageCollector: MessageCollector, rootDisposable: Disposable): ExitCode {
|
override fun doExecute(arguments: K2JVMCompilerArguments, services: Services, messageCollector: MessageCollector, rootDisposable: Disposable): ExitCode {
|
||||||
val messageSeverityCollector = MessageSeverityCollector(messageCollector)
|
val messageSeverityCollector = MessageSeverityCollector(messageCollector)
|
||||||
@@ -221,6 +220,11 @@ public class K2JVMCompiler : CLICompiler<K2JVMCompilerArguments>() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
private var initStartNanos = System.nanoTime()
|
||||||
|
|
||||||
|
public fun resetInitStartTime() {
|
||||||
|
initStartNanos = System.nanoTime()
|
||||||
|
}
|
||||||
|
|
||||||
platformStatic public fun main(args: Array<String>) {
|
platformStatic public fun main(args: Array<String>) {
|
||||||
CLICompiler.doMain(K2JVMCompiler(), args)
|
CLICompiler.doMain(K2JVMCompiler(), args)
|
||||||
|
|||||||
Reference in New Issue
Block a user