12/26/2009

新マシンでの Javascript の処理スピード

以前、その一その二 でやった処理スピードを新マシンで検証し、マシンの違いでどのくらい速くなるかを計測してみた。以前は PowerPC 上でインストールできなかった Chrome も入れてみた。

その一 のスピード
テスト概要:getElementById vs getElementsByTagName
以前の結果:
◆Safari 4.0.2
 約 340 ミリ秒付近
◆Firefox 3.5.1
 約 3300 ミリ秒以上
◆Opera 10.00 beta 2
 約 30 ミリ秒未満
今回の結果(10 回実行した平均値):
◆Safari 4.0.4
 getElementById: 40.5 ミリ秒
 getElementsByTagName: 42.1 ミリ秒
◆Firefox 3.5.6
 getElementById: 588.3 ミリ秒
 getElementsByTagName: 619.6 ミリ秒
◆Opera 10.10
 getElementById: 9.4 ミリ秒
 getElementsByTagName: 8.2 ミリ秒
◆Chrome 4.0.249.43
 getElementById: 41.4 ミリ秒
 getElementsByTagName: 42.2 ミリ秒


その二 のスピード
テスト概要:if else vs switch
以前の結果:
◆Safari 4.0.2
 約 340 ミリ秒付近
◆Firefox 3.5.1
 約 3300 ミリ秒以上
◆Opera 10.00 beta 2
 約 30 ミリ秒未満
今回の結果(10 回実行した平均値):
◆Safari 4.0.4
 if else: 117.8 ミリ秒
 switch: 115.9 ミリ秒
◆Firefox 3.5.6
 if else: 1683.3 ミリ秒
 switch: 1690.0 ミリ秒
◆Opera 10.10
 if else: 26.6 ミリ秒
 switch: 26.1 ミリ秒
◆Chrome 4.0.249.43
 if else: 124.6 ミリ秒
 switch: 122.7 ミリ秒


前者のテストでは Safari で約 8 倍、Firefox でも約 5 倍スピードアップしていた。後者のテストでは、Safari で約 3 倍、Firefox で約 2 倍となった。処理にとっては if else や switch の方が簡単ということだろうか。

そしてもう一つ、この結果で判ったこととして、Opera では前者のテストで約 3 倍、後者のテストではあまりスピードアップがなかった。これは Opera があまりマシンパワーに関係なく処理を行っているように感じられる。

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.