object Timer{ def apply[A](func: => A):A = { val before = System.currentTimeMillis val result = func println( System.currentTimeMillis - before ) result } } こんな感じで使います↓ scala> Timer{ | Thread.sleep(5000) | 3 | } 5000 res0: Int = 3 scala> Timer{ | BigInt(1) to 100000 sum | } 79 res1: BigInt = 5000050000 まぁこれだけです。なんかもっと良い書き方とかあったら教えてください 追記: 早速教えてもらったんですが、なんかこんなものあるらしいですね Benchmarkっていうの継承して、runを定義する