Make use of contracts of time measurement functions
This commit is contained in:
+3
-3
@@ -56,13 +56,13 @@ class RawFirBuilderTotalKotlinTestCase : AbstractRawFirBuilderTestCase() {
|
|||||||
if (file.extension != "kt") continue
|
if (file.extension != "kt") continue
|
||||||
try {
|
try {
|
||||||
val ktFile = createKtFile(file.toRelativeString(root))
|
val ktFile = createKtFile(file.toRelativeString(root))
|
||||||
var firFile: FirFile? = null
|
val firFile: FirFile
|
||||||
time += measureNanoTime {
|
time += measureNanoTime {
|
||||||
firFile = ktFile.toFirFile(stubMode)
|
firFile = ktFile.toFirFile(stubMode)
|
||||||
}
|
}
|
||||||
totalLength += StringBuilder().also { FirRenderer(it).visitFile(firFile!!) }.length
|
totalLength += StringBuilder().also { FirRenderer(it).visitFile(firFile) }.length
|
||||||
counter++
|
counter++
|
||||||
firFile?.accept(object : FirVisitorVoid() {
|
firFile.accept(object : FirVisitorVoid() {
|
||||||
override fun visitElement(element: FirElement) {
|
override fun visitElement(element: FirElement) {
|
||||||
element.acceptChildren(this)
|
element.acceptChildren(this)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -99,15 +99,15 @@ class FirResolveBench(val withProgress: Boolean) {
|
|||||||
): List<FirFile> {
|
): List<FirFile> {
|
||||||
return ktFiles.map { file ->
|
return ktFiles.map { file ->
|
||||||
val before = vmStateSnapshot()
|
val before = vmStateSnapshot()
|
||||||
var firFile: FirFile? = null
|
val firFile: FirFile
|
||||||
val time = measureNanoTime {
|
val time = measureNanoTime {
|
||||||
firFile = builder.buildFirFile(file)
|
firFile = builder.buildFirFile(file)
|
||||||
(builder.baseSession.firProvider as FirProviderImpl).recordFile(firFile!!)
|
(builder.baseSession.firProvider as FirProviderImpl).recordFile(firFile)
|
||||||
}
|
}
|
||||||
val after = vmStateSnapshot()
|
val after = vmStateSnapshot()
|
||||||
val diff = after - before
|
val diff = after - before
|
||||||
recordTime(builder::class, diff, time)
|
recordTime(builder::class, diff, time)
|
||||||
firFile!!
|
firFile
|
||||||
}.also {
|
}.also {
|
||||||
totalTime = timePerTransformer.values.sumByLong { it.time }
|
totalTime = timePerTransformer.values.sumByLong { it.time }
|
||||||
}
|
}
|
||||||
@@ -119,15 +119,15 @@ class FirResolveBench(val withProgress: Boolean) {
|
|||||||
): List<FirFile> {
|
): List<FirFile> {
|
||||||
return files.map { file ->
|
return files.map { file ->
|
||||||
val before = vmStateSnapshot()
|
val before = vmStateSnapshot()
|
||||||
var firFile: FirFile? = null
|
val firFile: FirFile
|
||||||
val time = measureNanoTime {
|
val time = measureNanoTime {
|
||||||
firFile = builder.buildFirFile(file)
|
firFile = builder.buildFirFile(file)
|
||||||
(builder.session.firProvider as FirProviderImpl).recordFile(firFile!!)
|
(builder.session.firProvider as FirProviderImpl).recordFile(firFile)
|
||||||
}
|
}
|
||||||
val after = vmStateSnapshot()
|
val after = vmStateSnapshot()
|
||||||
val diff = after - before
|
val diff = after - before
|
||||||
recordTime(builder::class, diff, time)
|
recordTime(builder::class, diff, time)
|
||||||
firFile!!
|
firFile
|
||||||
}.also {
|
}.also {
|
||||||
totalTime = timePerTransformer.values.sumByLong { it.time }
|
totalTime = timePerTransformer.values.sumByLong { it.time }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,12 +10,12 @@ import org.jetbrains.kotlin.konan.file.*
|
|||||||
import java.lang.StringBuilder
|
import java.lang.StringBuilder
|
||||||
|
|
||||||
fun <T> printMillisec(message: String, body: () -> T): T {
|
fun <T> printMillisec(message: String, body: () -> T): T {
|
||||||
var result: T? = null
|
val result: T
|
||||||
val msec = measureTimeMillis{
|
val msec = measureTimeMillis {
|
||||||
result = body()
|
result = body()
|
||||||
}
|
}
|
||||||
println("$message: $msec msec")
|
println("$message: $msec msec")
|
||||||
return result!!
|
return result
|
||||||
}
|
}
|
||||||
|
|
||||||
fun profile(message: String, body: () -> Unit) = profileIf(
|
fun profile(message: String, body: () -> Unit) = profileIf(
|
||||||
|
|||||||
@@ -128,7 +128,7 @@ class KotlinBuilder : ModuleLevelBuilder(BuilderCategory.SOURCE_PROCESSOR) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun initializeKotlinContext(context: CompileContext): KotlinCompileContext {
|
private fun initializeKotlinContext(context: CompileContext): KotlinCompileContext {
|
||||||
lateinit var kotlinContext: KotlinCompileContext
|
val kotlinContext: KotlinCompileContext
|
||||||
|
|
||||||
val time = measureTimeMillis {
|
val time = measureTimeMillis {
|
||||||
kotlinContext = KotlinCompileContext(context)
|
kotlinContext = KotlinCompileContext(context)
|
||||||
|
|||||||
Reference in New Issue
Block a user