g00ceyの技術ブログ

windowsでインタプリタの起動速度を測ってみた

目次

pythonのインタプリタ遅いんじゃない?ってところが気になったので少し実験してみた

結果

なお、計測結果は安定しないのでちょうど中間っぽいところ何となく拾いました。(1度目)

言語 時間(ms)
ruby 272.373
python 93.144
go 1355.1284(run) 367.953(build) 40.1265(exe)
php 57.4034

なぜ書いた

今までWindowsでLL系の言語はインタプリタの起動が遅いと思っていたのだけど、触ったことがある言語で速度比較したらどうなるか気になったので書いた。

対象言語

試験内容

hogeという文字列を出力するプログラムを実行する

実験方法

以下のコマンドを何回かたたき数値が安定したものを抽出(初回は理由は知らんけど、どうしても重たい)
powershell -C Measure-Command {command}

結果

なお、計測結果は安定しないのでちょうど中間っぽいところ何となく拾いました。(2度目)

python

Measure-Command {python test_hoge.py}

Days              : 0
Hours             : 0
Minutes           : 0
Seconds           : 0
Milliseconds      : 93
Ticks             : 931449
TotalDays         : 1.07806597222222E-06
TotalHours        : 2.58735833333333E-05
TotalMinutes      : 0.001552415
TotalSeconds      : 0.0931449
TotalMilliseconds : 93.1449

ruby

Measure-Command {ruby test.rb}

Days              : 0
Hours             : 0
Minutes           : 0
Seconds           : 0
Milliseconds      : 272
Ticks             : 2723739
TotalDays         : 3.15247569444444E-06
TotalHours        : 7.56594166666667E-05
TotalMinutes      : 0.004539565
TotalSeconds      : 0.2723739
TotalMilliseconds : 272.3739

go

go run

Measure-Command {go run main.go}

Days              : 0
Hours             : 0
Minutes           : 0
Seconds           : 1
Milliseconds      : 355
Ticks             : 13551284
TotalDays         : 1.56843564814815E-05
TotalHours        : 0.000376424555555556
TotalMinutes      : 0.0225854733333333
TotalSeconds      : 1.3551284
TotalMilliseconds : 1355.1284

go build

Measure-Command {go build main.go}

Days              : 0
Hours             : 0
Minutes           : 0
Seconds           : 0
Milliseconds      : 367
Ticks             : 3679530
TotalDays         : 4.25871527777778E-06
TotalHours        : 0.000102209166666667
TotalMinutes      : 0.00613255
TotalSeconds      : 0.367953
TotalMilliseconds : 367.953

main.exe

Measure-Command {.\main.exe}

Days              : 0
Hours             : 0
Minutes           : 0
Seconds           : 0
Milliseconds      : 40
Ticks             : 401265
TotalDays         : 4.64427083333333E-07
TotalHours        : 1.114625E-05
TotalMinutes      : 0.000668775
TotalSeconds      : 0.0401265
TotalMilliseconds : 40.1265

php

php

Measure-Command { php test.php }


Days              : 0
Hours             : 0
Minutes           : 0
Seconds           : 0
Milliseconds      : 57
Ticks             : 574034
TotalDays         : 6.64391203703704E-07
TotalHours        : 1.59453888888889E-05
TotalMinutes      : 0.000956723333333333
TotalSeconds      : 0.0574034
TotalMilliseconds : 57.4034

Share

comments powered by Disqus