[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends] Re: ネイティブコンパイラ




前橋です。

井浪さん:
>> あと、Javaって、言語仕様を決める時点で、ある程度遅くなること
>> を覚悟していた言語だと思うんですよ。メソッドについて、C++で
>> いうvirtualがデフォルトになっている所あたりにそんな感じが。
>
>あう。C++では無いですがDelphiでメソッドのオーバライドするのに
>継承元の方がvirtualとか dinamicとかで宣言しないといけなくて、
>面倒だなーとか思ってた(笑) そうか、もともとの世間一般的なアレ
>では、そっちが普通なんですね(^^;

他の言語をそれほど知っているわけではないですが、普通という点
から言えば、Javaの方が普通のような気がします。

Delphiは知りませんけど、C++やDelphiで、virtual等を書かなきゃ
いけないのは、その方が処理速度を上げられるからでしょう。
オーバライドされないことがわかっていれば、呼び出し時にvtblを
経由する必要もないですし、短かいメソッドならインライン展開し
てしまえばいいし。

Javaはどうせインタプリタだから、そんな所でちまちまと効率を稼
ぐよりも、便利で美しいデフォルトvirtualを採用したのでは?

本当にチューニングする気なら、Javaでもfinal指定すればいいん
ですが、デフォルトがどっちに振ってあるかの影響は大きいと思い
ます。

でも、Javaでは、intやdoubleをオブジェクトにするところまでは
踏み切れなかった... いまひとつ中途半端ではあるけれど、現実的
な選択だと思います。

そういえば、JVMってスタックマシンなんですが、JITで機械語に翻
訳する場合、RISCなチップの能力を活かしにくいんじゃないかしら。

>いや、さすがに user.dllとかkernel.dllとかcomctrlとかは置いと
>くとして、です(^^; VBRxxxとかMFCxxxとかが問題の方(^^;

私がはまったのは、URLMON.DLLとか、WININET.DLLとかでした。

------------------------------------------------------------
  前橋 和弥                             maebashi@xxxxxxxxxx
  中部ソフトエンジニアリング(株)
    〒450 名古屋市中村区名駅4-10-25(名駅IMAIビル 5F)
    Tel:(052)583-4511(代) 内線 252 Fax:(052)583-4566
------------------------------------------------------------