出来るのだASP Q&A掲示板(過去LOG)  訪問数 52046 昨日 889 今日 776
    【PR】 パソコン入門からIT専門書まで幅広く取り揃えています。セブン-イレブン受取り手数料無料のセブンアンドワイ。
Topに戻る 掲示板に戻る 検索 削除 管理者

[1651] for i=0 to n と for each、どっちが速い?
投稿者:北岳さん 2002/02/14 16:56:38
> ちなみに
> for i=0 to n 〜 next
> 形式の方が
> for each x in ary 〜 next
> 形式よりも速いとか。(どこかで読みましたが、どこだかは失念。)
今まで逆の感じを受けていたので、念のため確認実験をしてみましょう。
 
<%
dim ary()
n=10000000
 
'---for i=1 to n形式
redim ary(n)
for i=1 to n
ary(i)=i
next
tim1=time()
for i=1 to n
dummy=ary(i)*ary(i)
next
tim2=time()
erase ary
T1=DateDiff("s",tim1,tim2)
response.write "<br>T1(秒)=" & T1
 
'---for each x 形式
redim ary(n)
for i=1 to n
ary(i)=i
next
tim3=time()
for each x in ary
dummy=x*x
next
tim4=time()
T2=DateDiff("s",tim3,tim4)
response.write "<br>T2(秒)=" & T2
%>
 
WIN2000、Pentium3、IIS5、ASP(VBScript 5.5)実行結果
T1(秒)=26
T2(秒)=20
 
2つのブロックを入れ替えても時間は変わらず。
 
あれ?どこかで読んだのと結果が逆じゃんか?
嘘が書いてあったか、読み間違いだったかしらね。
 
【結論】for i=1 to n よりも for each x 形式の方が速いです。

文字列の中の特定の文字の個数を取りたいのですが・・   いしたくさん [2002/02/14 15:15:40] [1646]
  Re:正規表現は遅いかな?   シナプスさん [2002/02/18 3:02:11] [1676]
  Re:文字列の中の特定の文字の個数を取りたいのですが・・   北岳さん [2002/02/14 15:47:46] [1647]
    Re:文字列の中の特定の文字の個数を取りたいのですが・・   いしたくさん [2002/02/14 15:54:32] [1648]
    for i=0 to n と for each、どっちが速い?   北岳さん [2002/02/14 16:56:38] [1651]
      Re:for i=0 to n と for each、どっちが速い?   いしたくさん [2002/02/14 17:41:20] [1652]
        Re:for i=0 to n と for each、どっちが速い?   なかさん [2002/02/14 18:16:54] [1653]
          Re:for i=0 to n と for each、どっちが速い?   いしたくさん [2002/02/14 18:23:28] [1654]
        ASCとCHRで   北岳さん [2002/02/14 18:54:54] [1655]
          Re:ASCとCHRで   なかさん [2002/02/14 19:52:19] [1657]
            Re:ASCとCHRで   いしたくさん [2002/02/14 20:54:54] [1658]
            Re:ASCとCHRで   北岳さん [2002/02/14 22:54:31] [1659]
              Re:ASCとCHRで   なかさん [2002/02/15 10:13:10] [1660]


TreeBBS For ASP V.0.1.3
Program By YasNet