object Demo {
def time[R](block: => R): R = {
val start = System.nanoTime()
val result = block // call-by-name
val end = System.nanoTime()
println("\n\n--------------------------------")
println("past:[" + (end - start) + "ns]")
println("--------------------------------")
result
}
def main(args: Array[String]): Unit = {
time {1 to 1000 by 1 toList}
}
}