currentTimeMillis

['new Date().getTime()', '+new Date', 'Date.now()']
  .map(function(x)[x, Array(1e5).join(x +';'), dis(Function(x))])
  .map(function([x, c]){ print('\n'+ x +'\n=>', -new Date + eval(c)) })
> js -v 2>&1| goruby -e "s gt"
JavaScript-C 1.8.0 pre-release 1 2007-10-03

> js millis.js
flags: LAMBDA INTERPRETED
main:
00000:  callname "Date"
00003:  new 0
00006:  callprop "getTime"
00009:  call 0
00012:  pop
00013:  stop

Source notes:
  0:     3 [   3] pcbase   offset 3
  2:     6 [   3] pcbase   offset 6
  4:     9 [   3] pcbase   offset 9
flags: LAMBDA INTERPRETED
main:
00000:  callname "Date"
00003:  new 0
00006:  pos
00007:  pop
00008:  stop

Source notes:
  0:     3 [   3] pcbase   offset 3
flags: LAMBDA INTERPRETED
main:
00000:  name "Date"
00003:  callprop "now"
00006:  call 0
00009:  pop
00010:  stop

Source notes:
  0:     3 [   3] pcbase   offset 3
  2:     6 [   3] pcbase   offset 6

new Date().getTime()
=> 1132

+new Date
=> 1040

Date.now()
=> 756
new Date().getTime() センス無し
+new Date ごるふ
Date.now() 効率
+

ごるふ効果*1を考慮し忘れた。長さを揃えて再計測。

['new Date().getTime()',
 '+new Date           ',
 'Date.now()          ']
  .map(function(x)[x, Array(1e5).join(x +';')])
  .forEach(function([x, c]){ print(x, '=>', -new Date + eval(c)) })
> js millis_padded.js
new Date().getTime() => 1101
+new Date            => 1099
Date.now()           => 797

上二つはほぼ同じか。

*1:つまり eval のパースコスト