ITコンサルの日常

ITコンサル会社に勤務する普通のITエンジニアの日常です。

VBでDimとNewを同一行に書くと性能が悪くなる?

プログラミングC# p73

こんな記述があります。

VB6では、キーワードDimとNewを同じ行で使うと性能が悪くなりますが、C#ではこの問題が起きません。

なんで性能が悪くなるのだろうか。。
ちなみに、
http://homepage1.nifty.com/rucio/main/shokyu/jugyou23.htm
のサイトにも同様の記述あり。


良く分からんので試しにプログラム書いてみた。VB6じゃなくて、Excel2000 VBAですが。

Sub hoge()
    MsgBox Now
    
    For i = 1 To 100000000
        Dim aaa As New Collection
    Next
    
    MsgBox Now
End Sub

Sub hoge2()
    MsgBox Now

    For i = 1 To 100000000
        Dim bbb As Collection
        Set bbb = New Collection
    Next
    
    MsgBox Now
End Sub

手元のマシンで実行してみたところ、DimとNewを同一行で書いているhogeサブルーチンの方が、別々に書いているhoge2サブルーチンより速かったりする。
VBじゃなくて、VBAってところがミソなのか?全くもって不明。。
まあ、性能面でも大差なさそうだし、可読性も高いしってことで、僕はDimとNewを同一行で書く派になりました。