VB: アーリーバインディングでよろw

VB でオブジェクトに対してメソッドやプロパティの呼び出しを行う方法には、アーリーバインディング (As MyClass)、レイトバインディング (As Object)、名前での呼び出し (CallByName) の 3 種類がある。で、その速度差について

CallByNameを使用した場合、通常の呼び出しより約80倍以上(Publicメソッド一つの場合)かかります。これは定義するPublicメソッドを増やせば増やすほど増えます。

という記述がある。これを部分的に追試してみた。
Value0 から Value9 まで、10 個の String 型プロパティを持つ Class1 を定義して、インスタンスを 100 個生成。各プロパティに CStr(Rnd()) を設定した後、全インスタンスから同一プロパティ値の取得を 10 万回行ってみた。
アーリーバインディングの場合、最初のプロパティ Value0 だと 3 秒、最後のプロパティ Value9 でも 4 秒。それに対し、CallByName を使用した場合では、Value0 で 138 秒、Value9 で 272 秒かかった。
ループ自体や、配列からのインスタンス取り出しにかかる時間はめんどくさいの測定していないが、それでも 40〜60 倍程度になったわけで、CallByName の遅さは確認できた。