diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/common/CommonCompilerPerformanceManager.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/common/CommonCompilerPerformanceManager.kt index e768ee7c957..eccf2cb2111 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/common/CommonCompilerPerformanceManager.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/common/CommonCompilerPerformanceManager.kt @@ -5,8 +5,6 @@ package org.jetbrains.kotlin.cli.common -import com.intellij.openapi.util.text.StringUtil -import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.util.PerformanceCounter import java.io.File import java.lang.management.GarbageCollectorMXBean @@ -28,7 +26,6 @@ abstract class CommonCompilerPerformanceManager(private val presentableName: Str private var irGenerationStart: Long = 0 private var targetDescription: String? = null - private var sourceFiles: List? = null protected var files: Int? = null protected var lines: Int? = null @@ -45,19 +42,12 @@ abstract class CommonCompilerPerformanceManager(private val presentableName: Str private fun deltaTime(start: Long): Long = PerformanceCounter.currentTime() - start - private fun countLinesOfCode(sourceFiles: List): Int = - sourceFiles.sumBy { sourceFile -> - val text = sourceFile.text - StringUtil.getLineBreakCount(text) + (if (StringUtil.endsWithLineBreak(text)) 0 else 1) - } - - open fun notifyCompilerInitialized(sourceFiles: List, targetDescription: String) { + open fun notifyCompilerInitialized(files: Int, lines: Int, targetDescription: String) { if (!isEnabled) return recordInitializationTime() - this.sourceFiles = sourceFiles - this.files = sourceFiles.size - this.lines = countLinesOfCode(sourceFiles) + this.files = files + this.lines = lines this.targetDescription = targetDescription } 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 f5cf22c69c0..057d7d7607f 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/K2JVMCompiler.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/K2JVMCompiler.kt @@ -230,7 +230,7 @@ class K2JVMCompiler : CLICompiler() { val sourceFiles = environment.getSourceFiles() configuration[CLIConfigurationKeys.PERF_MANAGER]?.notifyCompilerInitialized( - sourceFiles, targetDescription + sourceFiles.size, environment.countLinesOfCode(sourceFiles), targetDescription ) return if (messageCollector.hasErrors()) null else environment diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/metadata/K2MetadataCompiler.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/metadata/K2MetadataCompiler.kt index b3cd8e1aa07..82ee7af65ca 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/metadata/K2MetadataCompiler.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/metadata/K2MetadataCompiler.kt @@ -96,7 +96,9 @@ class K2MetadataCompiler : CLICompiler() { KotlinCoreEnvironment.createForProduction(rootDisposable, configuration, EnvironmentConfigFiles.METADATA_CONFIG_FILES) val mode = if(arguments.expectActualLinker) "KLib" else "metadata" - performanceManager.notifyCompilerInitialized(environment.getSourceFiles(), "$mode mode for $moduleName module") + + val sourceFiles = environment.getSourceFiles() + performanceManager.notifyCompilerInitialized(sourceFiles.size, environment.countLinesOfCode(sourceFiles), "$mode mode for $moduleName module") if (environment.getSourceFiles().isEmpty()) { if (arguments.version) {