Kotlin 测量代码执行时间

1、measureTimeMillis 函数
(1)基本介绍
fun measureTimeMillis(block: () -> Unit): Long
  • measureTimeMillis 函数用于测量代码执行时间,返回毫秒值
(2)演示
suspend fun runTask1() {
    println("任务 1 开始执行")
    delay(1000)
    println("任务 1 执行完成")
}

suspend fun runTask2() {
    println("任务 2 开始执行")
    delay(2 * 1000)
    println("任务 2 执行完成")
}

val time = measureTimeMillis {
    runBlocking {
        runTask1()
        runTask2()
    }
}

println("执行耗时: $time 毫秒")
# 输出结果

任务 1 开始执行
任务 1 执行完成
任务 2 开始执行
任务 2 执行完成
执行耗时: 3050 毫秒
2、measureTime 函数
(1)基本介绍
fun measureTime(block: () -> Unit): Duration
  • measureTime 函数:测量代码执行时间,返回 Duration 对象,Duration 对象功能丰富
(2)演示
suspend fun runTask1() {
    println("任务 1 开始执行")
    delay(1000)
    println("任务 1 执行完成")
}

suspend fun runTask2() {
    println("任务 2 开始执行")
    delay(2 * 1000)
    println("任务 2 执行完成")
}

val time = measureTime {
    runBlocking {
        runTask1()
        runTask2()
    }
}

println("执行耗时: $time")
# 输出结果

任务 1 开始执行
任务 1 执行完成
任务 2 开始执行
任务 2 执行完成
执行耗时: 3.053713400s
3、measureNanoTime 函数
(1)基本介绍
fun measureNanoTime(block: () -> Unit): Long
  • measureNanoTime 函数用于测量代码执行时间,纳秒精度
(2)演示
suspend fun runTask1() {
    println("任务 1 开始执行")
    delay(1000)
    println("任务 1 执行完成")
}

suspend fun runTask2() {
    println("任务 2 开始执行")
    delay(2 * 1000)
    println("任务 2 执行完成")
}

val time = measureNanoTime {
    runBlocking {
        runTask1()
        runTask2()
    }
}

println("执行耗时: $time 纳秒")
# 输出结果

任务 1 开始执行
任务 1 执行完成
任务 2 开始执行
任务 2 执行完成
执行耗时: 3050623700 纳秒
4、measureTimedValue 函数
(1)基本介绍
fun <T> measureTimedValue(block: () -> T): TimedValue<T>
class TimedValue<T>(val value: T, val duration: Duration)
  • measureTimedValue 函数用于测量代码执行时间,同时返回执行结果和耗时,耗时为 Duration 对象
(2)演示
val (result, time) = measureTimedValue {
    println("任务开始执行")
    Thread.sleep(3 * 1000)
    println("任务执行完成")
    100
}

println("任务结果: $result")
println("执行耗时: $time")
# 输出结果

任务开始执行
任务执行完成
任务结果: 100
执行耗时: 3.007100500s
Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐