ミリ秒・マイクロ秒単位で処理時間を計測するには

なんらかの処理にかかっている時間を調べるために、単純に処理前と処理後の時刻を取得して引き算する方法。

Java / Scala

Javaでの例

long start = System.currentTimeMillis();

// ここでなんらかの処理

long end = System.currentTimeMillis();
long interval = end - start;
System.out.println(interval + "ミリ秒");

Scalaでの例

val start = System.currentTimeMillis();

// ここでなんらかの処理

val end = System.currentTimeMillis();
val interval = end - start;
println(interval + "ミリ秒");

以下の方法はナノ秒単位で取得するJava5以降の方法。

long start = System.nanoTime();

// ここでなんらかの処理

long end = System.nanoTime();
long interval = end - start;
System.out.println(interval + "ナノ秒");

PHP

$starttime =  microtime(true);

// ここでなんらかの処理

$endtime =  microtime(true);
$interval = $endtime - $starttime;
echo "${interval}秒"; // 精度はマイクロ秒で $interval は浮動小数点数になる

microtime 関数 | PHP Manual
http://php.net/manual/ja/function.microtime.php

Python

import time

starttime = time.time()

# ここでなんらかの処理

endtime = time.time()
interval = starttime - endtime
print(str(interval) + "秒")

time.time() はエポックからの時間を秒単位で浮動小数点数で返す。

time.time() | Python 3 documentation
http://docs.python.jp/3.3/library/time.html#time.time

Ruby

starttime = Time.now

# ここでなんらかの処理

endtime = Time.now
interval = endtime - starttime
print "#{interval}秒"

単位は秒だが浮動小数点数で取得できる。

Perl

use Time::HiRes qw/gettimeofday/;

my ($start_sec, $start_microsec) = gettimeofday();

# ここでなんらかの処理

my ($end_sec, $end_microsec) = gettimeofday();
my $interval = ($end_sec - $start_sec) * 1000000 + $end_microsec - $start_microsec;
print encode('utf-8', $interval . "マイクロ秒\n");

sh (シェルスクリプト)

time コマンドを使う。

JavaScript

var start = new Date();
var interval = new Date() - start;

Dateのオブジェクトは - 演算子を与えるとミリ秒単位の整数に変換してから演算してくれる。

このサイトは筆者(hydrocul)の個人メモの集合です。すべてのページは永遠に未完成です。