VC6とVC7で違ってくるのかな?

VC6だと仮想と非仮想に全く違いがなかった。
VC7だと非仮想関数と、ポインタじゃない呼び出しの仮想が同じくらい速くなった。
>>66の指摘している通り、VC7で明示的にインスタンスを作った場合は、テーブルを使わないみたい。

//----ケースA
CHoge* p = new CHoge;
p->VirtualFunc();
//----ケースB
CHoge obj;
obj.VirtualFunc();

このA,Bの2種類では、Bはテーブルを使わないようです。(VC7の場合)