measureTimeMillis

inline fun measureTimeMillis(block: () -> Unit): Long(source)

Executes the given block and returns elapsed time in milliseconds.

This function is obsolete, and it is recommended to use measureTime instead as it does not suffer from measureTimeMillis downsides and provides human-readable output.

measureTimeMillis uses System.currentTimeMillis which is not monotonic, is a subject to a clock drift, and has an OS-dependent coarse-grained resolution. measureTimeMillis can return a negative or zero value as a result.

Since Kotlin

1.0

See also

Samples

import kotlin.system.*

fun main() { 
   //sampleStart 
   val numbers: List<Int>
val timeInMillis = measureTimeMillis {
    numbers = buildList {
        addAll(0..100)
        shuffle()
        sortDescending()
    }
}
// here numbers are initialized and sorted
println(numbers.first()) // 100

println("(The operation took $timeInMillis ms)") 
   //sampleEnd
}
inline fun measureTimeMillis(block: () -> Unit): Long(source)

Deprecated

Warning since 1.9

Error since 2.1

Use measureTime() instead.

Replace with

measureTime(block).inWholeMilliseconds

Executes the given block and returns elapsed time in milliseconds.

This function is deprecated. To measure the duration of execution of a block of code, use measureTime or measureTimedValue instead. The resulting Duration then can be expressed as a Long number of milliseconds using Duration.inWholeMilliseconds.

Since Kotlin

1.3

Samples

import kotlin.system.*

fun main() { 
   //sampleStart 
   val numbers: List<Int>
val timeInMillis = measureTimeMillis {
    numbers = buildList {
        addAll(0..100)
        shuffle()
        sortDescending()
    }
}
// here numbers are initialized and sorted
println(numbers.first()) // 100

println("(The operation took $timeInMillis ms)") 
   //sampleEnd
}