- PR -

未だに "Javaは遅い" と言う人を説得するには?

投稿者投稿内容
H2
ぬし
会議室デビュー日: 2001/09/06
投稿数: 586
お住まい・勤務地: 港
投稿日時: 2001-09-07 14:57
Javaからネイティブへのコンパイラーがいくつかあるようでうす。Linux・UnixではGCCでコンパイルするそうです。(先輩からの話なので自分では試してません)ウィンドウズ環境ではJETやJava2Exeというツールが商用であるみたいですね。

JETはアメリカのExcelsiorという会社が開発しています。ホームページはhttp://www.excelsior-usa.com/jet.htmlです。JETでコンパイルしたプログラムとJVMで走らせているプログラムの比較ベンチマークもあります。どうやら、GUIではあまり威力を発揮しないようですがバッチ処理ではかなり高速になっています。サーバーサイドでのベンチマークはまだのようなので残念ですが、Coming Soonとでていたのでそのうち掲載されるはずです。

また、英語ですがOsvaldo Pinali Doederlein氏の書かれたTHE JAVA PERFORMANCE REPORTではネイティブコンパイラやJITコンパイラなどを比較したとてもよいベンチマークがあります。和訳がないか探してみます。
H2
ぬし
会議室デビュー日: 2001/09/06
投稿数: 586
お住まい・勤務地: 港
投稿日時: 2001-09-07 15:26
すみません、続けて書き込みさせてもらいます。

引用:

ZZZさんの書き込み (2001-09-04 02:00) より:
ZZZです。
 皆さんが遅いか、速いかを議論しているようですが、誰かがベンチマークを作ってくれないのかなー。


Cとの比較ベンチマークがありました。上記リンク先「The Java Performance Report」ではSun Hot Spot JVM、各種ネイティブコンパイラとCの違いをグラフにしています。

一部ではJavaがCと同等のスピードを保っているところも見えました。このまま開発が進めばJavaもCと同等に早くなるのではないでしょうか?(ただ、そうするとJavaのプラットフォーム非依存性が意味のない物になりますが・・・)
しょむ
ぬし
会議室デビュー日: 2001/09/06
投稿数: 430
投稿日時: 2001-09-20 15:48
結論でているようですが、遅いですよ。

ただし、Web アプリケーションのサーバ側の処理を行なうという点においては、
少なくとも Java ほどの拡張性と速度、そしてセキュリティー、ポータビリティーを
持っている解がない、ってことです。
そりゃ、極論アセンブラで一から十まで開発してマシン固有のコードをバリバリ
書くのが速いに決まってるじゃないですか:)

ただ、HTTP の処理やエラー周りそのほか、ベースとなる部分をあんたCで書くのか?
ちう問題です。
Web 上でといわれた瞬間に、まずクライアント側の機構が限られるでしょ。
VRML (ってまだ使われてるの?:b) とか。そっちのほうがネックがでかいと思う。

サーバ側でリアルタイムに計算してそれをリアルタイム/インタラクティブに
クライアント側で、とかいった瞬間に HTTP という選択肢すらなくなる。

クライアント側で行なうなら、Java とか考えなくていい。
むしろネイティブ開発環境のほうがいいでしょ。
アプレットで 3D なんてやらないほうが身のためでしょう。
数値計算ももっての他だし。
kamicup
会議室デビュー日: 2001/11/15
投稿数: 6
投稿日時: 2001-11-15 09:55
Java House MLのアーカイブで、単純な素数計算ののJavaとGCCの比較結果を見かけました。同等かJavaの方が少し早い程度と言う結果に驚いた記憶があります。科学技術計算ならば十分なパフォーマンスが得られるのでは無いでしょうか。
http://java-house.etl.go.jp/ml/
の検索で、キーワード『java c 素数 比較』とすれば見つかります。
といいつつ私自身は当該MLに入っていません。(流通量が多そうで尻込みしてます。)
------
#CMS for Java、私も欲しいです。

[ メッセージ編集済み 編集者: kami-cup 編集日時 2001-11-15 09:59 ]
Masakazu Honda
会議室デビュー日: 2001/11/19
投稿数: 6
投稿日時: 2001-11-20 20:12
引用:

kami-cupさんの書き込み (2001-11-15 09:55) より:
#CMS for Java、私も欲しいです。

[ メッセージ編集済み 編集者: kami-cup 編集日時 2001-11-15 09:59 ]


以前、Transmetaの技術者と話したことがありますが、CMS for JavaはCMS fot x86上で高速なJVMを動かした時と、ほとんど速度が変わらなかったそうです。

というのもJITコンパイラで生成された冗長ぎみのx86コードが、CMS内部で繰り返し実行されるうちに最適化され、結果的にJavaのバイナリをCMSで変換した時とたいして変わらない効率のコードになってしまうためとのこと。初回起動時のみ遅いが、それ以降はほぼ同じとのこと。

彼らは組み込み向けの統合チップを作る上で、Javaネイティブも本気で考えていたそうですが、上記の理由でx86版だけで十分との判断に達したようです。ま、将来はどうなるかわかりませんが。
タカギ
会議室デビュー日: 2001/10/15
投稿数: 3
投稿日時: 2001-12-04 19:56
引用:

アプレットで 3D なんてやらないほうが身のためでしょう。


http://www.mascotcapsule.com/index-j.html
http://vc.lalabit.com/
こんなものもあります。
ご参考までに。



[ メッセージ編集済み 編集者: タカギ 編集日時 2001-12-04 19:59 ]

スキルアップ/キャリアアップ(JOB@IT)