VBScriptの配列は、漸増が遅い。
VBScriptの配列をReDimで伸縮するとき、漸減はそれほどでもないが、漸増はとても遅い。
t1 = Timer
ReDim a(1024 * 512)
For k = 1024 * 512 To 1 Step -1
ReDim Preserve a(k - 1)
Next
MsgBox Timer - t1
'1.011719
t1 = Timer
a = Array()
For k = 1 To 1024 * 512
ReDim Preserve a(k)
Next
MsgBox Timer - t1
'31.84375
束で増やすようにすれば、それなりに速くなります。
もし最大値が予想できるなら、最初にどんと大きく作って、最後に小さく調整するとよいでしょう。
« VBScriptやVBAのSplit()関数の代替にJScriptを使う。 | トップページ | JScriptのArrayオブジェクトへの追加では、unshift()が遅い。 »