Sassyブログ

好きなことで暮らしを豊かにするブログ

Scalaで処理速度を計測する場合のやり方について

よく速度性能を求められたりするのでメモ

object sample {
  /**
    * 処理速度測定を行う
    *
    * @param process
    */
    def printExecTime(process: => Unit): Unit = {
      val start = System.currentTimeMillis
      process
      println("処理時間: " + (System.currentTimeMillis - start) + " ミリ秒")
    }

    def main(args: Array[String]): Unit = {

      printExecTime {

      //・・・・何らかしらの処理

      }
    }
}

System.currentTimeMillisで開始時間を取得しておいて、
処理が終わったあと再度System.currentTimeMillisを呼び出して終了時間を取得する。

そして、終了時間から開始時間を引いてあげれば処理時間が求められる。

今回はそのまま計算して出力しているが ポイントとしてはミリ秒で計算して出力時に適切なフォーマットに出力してあげる。

以上