プロが教える店舗&オフィスのセキュリティ対策術

 ある雑誌でVisual Basic.NETになってからC言語と同等の処理速度になったと書いてあるのを見ました。しかし、この間、会社に出入りのあるソフト会社から「Visual Basic.NETより、6.0の方が処理速度は速い」と聞きました。現在、私は.NETを使用しています。本当のところどっちが早いんでしょうか、どなたか教えてください。

A 回答 (4件)

参考書を読んだ限りでは、


・開発環境でビルドした時点では、Exeファイルは中間コード
 (MSILと言うらしい)
 …これは、VBでもC#でもC++でもJ#でも、.NETである限り同じようです。
 (でもせめてC++ぐらいは逃げ道があってもいいような…)
・起動された時点で、CLR(Common Language Runtime)のJIT
 (Just-In-Time)コンパイラで ネイティブコンパイルされた後に、
 実行される

…らしいので、少なくとも同様の機能を持ったアプリ同士なら、
起動速度に関して言えば.NETの方が明らかに遅いでしょうね。
実行速度については、正直コンパイラの最適化性能にも よると思うのですが、
今のところの私の体感的には、「どっこいどっこいか、または微妙に
.NET(私が使用経験あるのは2005だけですが)が遅いかも? 処理にもよる?」
っていう感じでしょうか。
まぁ、実行時に(遅すぎて困らない範囲のスピードで)コンパイルする事を
考えれば、.NETのコンパイルの最適化は、VB6に比べると多少甘い「かも」
しれませんね。

ともあれ、あまり馬鹿デカいアプリを.NETで製作すると、起動が重くて
仕方ない状態になるかも。
つーかマイクロソフトは、将来的には一般ユーザにはネイティブコンパイル
されたアプリは作らせないようにするつもりなんだろうか…?
(C++とかの事情は、私は分からないんですけどね)
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
okgOOさんの回答で案内してもらったURLを見ると、中間言語に置き換えてコンパイルしていることがわかりました。
またnge.exeでネィティブコンパイルすると中間言語に置き換えないので、立ち上がりも早くなることがわかりました。
ありがとうございました。また、よろしくお願いいたします。

お礼日時:2007/02/28 15:09

VB6はOSが今よりも軽いOS時代の物で且つ機械語に直接


コンパイルできていたのに対し、.NETは.Net FrameWork
が間に入る為、理論的には処理が増えた分だけ遅くなり
がちです。
しかし、PCの性能向上によりその差分を埋められている
ので処理速度は環境に大きく依存することになります。
昔のPCならVB6、最近のPCでCPUもメモリも十分にある
場合なら.NET
    • good
    • 0
この回答へのお礼

ありがとうございます。
確かにおっしゃるとおり。
PCの性能もずいぶんアップしてきました。
今後、システムに、CORBAの仕様を取り入れ組みなおそうとしています。
なかなか、中身までついていけません

お礼日時:2007/02/28 15:04

>この間、会社に出入りのあるソフト会社から「Visual Basic.NETより、6.0の方が処理速度は速い」



何を基準に"処理速度は速い"と認識したかによって、とらえ方は変わると思います。
確かにフォームの表示などは遅いと感じますが・・・
アセンブリのロードに時間がかかるの遅く感じるかもしれませんね。
    • good
    • 0
この回答へのお礼

ご回答、ありがとうございます。 
 ソフト屋さんは、ただ、漠然と処理が遅いと言っており、その表現はすべてについて劣っているような言いぶりでした。
 きっと今のシステムを作り変えても金額的にメリットがあまりなく、面倒なことが多いから、そのようなことを言っているのかもしれません。われわれは素人なので適当に、出まかせを言っているような印象でした。
 また、わからないことがあったら教えてください。

お礼日時:2007/02/28 11:36

http://www.atmarkit.co.jp/fdotnet/vbcheer/vbchee …

開発の仕方やコードの書き方でも変わるでしょうが、.netでも充分に早いというデータもあります。

しかし、Vistaで6.0はサポートされていますが次バージョンではどうなるでしょうね。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!