
其他
|
179
参阅
3.5 节讨论了操作符重载的更多细节。
11.7
测量经过时间
问题
如何得知一个代码块会花费多久来运行。
解决方案
使用标准库中的 measureTimeMillis 或 measureNanoTime 函数。
讨论
kotlin.system
包包含了measureTimeMillis 与 measureNanoTime 函数。如示例
11-20 所示,使用它们来确定一个代码块要运行多长时间是非常简单的。
示例 11-20:测量一个代码块执行花费的时间
fun doubleIt(x: Int): Int {
Thread.sleep(100L)
println("doubling $x with on thread ${Thread.currentThread().name}")
return x * 2
}
fun main() {
println("${Runtime.getRuntime().availableProcessors()} processors")
var time = measureTimeMillis {
IntStream.rangeClosed(1, 6)
.map { doubleIt(it) }
.sum()
}
println("Sequential stream took ${time}ms")
time = measureTimeMillis {
IntStream.rangeClosed(1, 6)
.parallel()
.map { doubleIt(it) ...