[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
------------------------------------------------------------