diff --git a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirResolveTestTotalKotlin.kt b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirResolveTestTotalKotlin.kt index a5404e3d6f9..5e825b1e41a 100644 --- a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirResolveTestTotalKotlin.kt +++ b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirResolveTestTotalKotlin.kt @@ -68,7 +68,7 @@ class FirResolveTestTotalKotlin : AbstractFirResolveWithSessionTestCase() { val builder = RawFirBuilder(session, stubMode = true) val totalTransformer = FirTotalResolveTransformer() - val firFiles = ktFiles.map { + val firFiles = ktFiles.toList().progress("Loading FIR").map { val firFile = builder.buildFirFile(it) (session.service() as FirProviderImpl).recordFile(firFile) firFile diff --git a/compiler/tests-common/tests/org/jetbrains/kotlin/fir/FirResolveBench.kt b/compiler/tests-common/tests/org/jetbrains/kotlin/fir/FirResolveBench.kt index 2979c82e3df..ad4dadab526 100644 --- a/compiler/tests-common/tests/org/jetbrains/kotlin/fir/FirResolveBench.kt +++ b/compiler/tests-common/tests/org/jetbrains/kotlin/fir/FirResolveBench.kt @@ -32,8 +32,9 @@ fun doFirResolveTestBench(firFiles: List, transformers: List, transformers: List Collection.progress(label: String, step: Double = 0.1): Sequence { + val intStep = (this.size * step).toInt() + var progress = 0 + return asSequence().onEach { + if (progress % intStep == 0) { + println("$label: ${progress * 100 / size}% ($progress/${this.size})") + } + progress++ + } +} diff --git a/idea/performanceTests/org/jetbrains/kotlin/idea/perf/FirTotalKotlinResolveInIdeTest.kt b/idea/performanceTests/org/jetbrains/kotlin/idea/perf/FirTotalKotlinResolveInIdeTest.kt index 74126719a0a..b2a924fd47d 100644 --- a/idea/performanceTests/org/jetbrains/kotlin/idea/perf/FirTotalKotlinResolveInIdeTest.kt +++ b/idea/performanceTests/org/jetbrains/kotlin/idea/perf/FirTotalKotlinResolveInIdeTest.kt @@ -24,6 +24,7 @@ import org.jetbrains.kotlin.fir.declarations.FirFile import org.jetbrains.kotlin.fir.doFirResolveTestBench import org.jetbrains.kotlin.fir.java.FirJavaModuleBasedSession import org.jetbrains.kotlin.fir.java.FirProjectSessionProvider +import org.jetbrains.kotlin.fir.progress import org.jetbrains.kotlin.fir.resolve.FirProvider import org.jetbrains.kotlin.fir.resolve.impl.FirProviderImpl import org.jetbrains.kotlin.fir.resolve.transformers.FirTotalResolveTransformer @@ -33,7 +34,6 @@ import org.jetbrains.kotlin.idea.caches.project.* import org.jetbrains.kotlin.idea.fir.IdeFirDependenciesSymbolProvider import org.jetbrains.kotlin.psi.KtFile import java.io.File -import kotlin.math.ceil class FirTotalKotlinResolveInIdeTest : ModuleTestCase() { private val projectRootFile = File(".") @@ -57,18 +57,6 @@ class FirTotalKotlinResolveInIdeTest : ModuleTestCase() { ) } - private fun Collection.progress(label: String, step: Double = 0.1): Sequence { - val intStep = (this.size * step).toInt() - val percentStep = ceil(this.size * 0.01).toInt() - var progress = 0 - return asSequence().onEach { - if (progress % intStep == 0) { - println("$label: ${progress / percentStep}% ($progress/${this.size})") - } - progress++ - } - } - override fun setUp() { super.setUp() sessionProvider = FirProjectSessionProvider(project)