トップページ⇒tech
148コメント59KB

.NET vs J2EE

■ このスレッドは過去ログ倉庫に格納されています
00011NGNG
IT業界の覇権争いにおいて今後最も注目されるのが
ServerSide分野だろう。現在のところSUNを中心と
するJavaが支配的だ。一方PCsoftからServerSide
への路線変更を急ぐMicroSoftはSUNからの訴訟に
よりJavaを捨てざるを得なくなった。しかし同社幹部
の「Meなんかどうでもいい。重要なのはDatacenterだ」
といった発言からもわかるようにServerSideへの進出
を重視している以上なんらかの対策を打たなくてはならない。
そこでJ2EEへの真っ向勝負として.NETをぶつけることになった。
CLR、C#、SOAPと魅力的な要素も多い。
これに対してJ2EEの切り札はEJBだ。

勉強すること多すぎ。どっちが普及するのだろうか。
(覚えるのはそっちだけにしたいしぃ〜)
0098けろNGNG
>>95
JETアプリの速度だけど、種類によっていろいろ違うみたい。
吉田氏が試したLINPACKベンチでは、HotSpotより2倍強速くなったって。
Cに比べて1割遅いだけだから、こういうモノは優秀みたいよ。
(ハノイの塔は、6倍くらい速い!)
Cで組んだモノより速いものもいくつかあります。
まあ実際のアプリで試してみるしかないのでしょう。

#JET質問メール、速攻で返事来た。やっぱりあれで良かったですね。
#にしても、対応はとてもいいですね。
0099デフォルトの名無しさんNGNG
Cより速くなることは理論上ありえない。
例えネイティブコードで書かれているJavaVM内の機能を使ったとしても5分。
Cより速くなるのはCのコードが最適化されていないから。
要するに技術力不足!
0100けろNGNG
>>99
理論上、ってどういう理論か知らんけど、実際の製品は"理論上"で
動いてるワケではないので、なにが言いたいか分らんよ。
VC++の最適化が、そのアプリでJEDコンパイラの最適化に負けただけ。
まあ実際のCソースとJavaソースを見比べたワケじゃないから
詳細な部分までは分らんが。
つーか、JEDはx86バイナリを吐くっていうのを理解してるかな?
それで、なぜ理論上そうなるか説明してくれ。
010199NGNG
>JEDはx86バイナリを吐く
なんだネイティブコードなのか・・・
それじゃJavaじゃないじゃん。
0102けろNGNG
100でJEDはJETの間違いけろ・・・。
0103けろNGNG
HotSpotは、ネイティブコンパイラじゃないけど、
実行時解析をするので、ものによってはCより速いものもあるよ。
いや、これは本当の話だから。
ちょっと調べてみるといいよ。
0104デフォルトの名無しさんNGNG
99はスレをあまり読んでないっぽいなぁ。
0105defaultNGNG
http://www.zdnet.co.jp/news/0101/26/e_jump.html
0106デフォルトの名無しさんNGNG
>>103
プロファイラの情報を反映できるからね
これは普通のコンパイラ言語ではできない
0107デフォルトの名無しさんNGNG
ASP+は言語非依存らしいが、
PERLで作ったCGIもそのまま使えたりするのだろうか?
0108デフォルトの名無しさん NGNG
http://www.activestate.com/Products/NET/Perl.html
現在のところは、サブセットみたいだね。
0109デフォルトの名無しさんNGNG
HTMLにWindows Formなコントロール埋め込むのって
セキュリティどーなってるんでしょう?
0110デフォルトの名無しさんNGNG
>>103
>HotSpotは、ネイティブコンパイラじゃないけど、
>実行時解析をするので、ものによってはCより速いものもあるよ。

まだ無いよ。
これから先もできるかどうか知らん。
あるって言うならソースを示せ。
0111デフォルトの名無しさんNGNG
>>109
caspol.exeでいろいろ設定できるらしい。

http://www.gotdotnet.com/iesourcing.aspx
0112デフォルトの名無しさんNGNG
>>111
この4. Beta1 Onlyってあるとこ、
どーゆーことが書いてあるんでしょう? なんか重要っぽいし。
私のヘボイ英語力では読解不能ダス(T_T
0113けろNGNG
>>110
誤解が生じてるかもしれないんであれだけど、
「ものによってはCより速いものもある」っていうのは、
「ベンチマークの種類によってはCより速いものもある」っていう意味だから。
ソースは、あーーーJAVA PRESS Vol.16のJET紹介記事にある速度比較
をみてね。まあやり方によって多少の変動はあろうけど、傾向としては
だいたいあんなものでしょう。
その中では、バブルソート、ヒープソート、Sieve、フィボナッチ
がCより速い結果を出してますね。(CはVC++6.0最適化してる)
もちろん、Cのほうが速いものもいろいろあるよ。

全然話は変わるんだけど、先日JETの会社からメールが来て、
「改良したからこれで試してみてくれ」というバイナリが入ってた。
やってみたら、コンパイルオプション無しで日本語が出るようになったけろ。
なんというか、辺境の駄目プログラマのメールに律儀に対応してくれる
のには、頭が下がります。(そのうち正式版にも反映されると思うのだけど)
http://excelsior-usa.com/home.html
0114デフォルトの名無しさんNGNG
ど素人ですいませんがJ2EEってなんですか?
javaのなんか?
0115デフォルトの名無しさんNGNG
>>114
Java2 Executable Engine.
0116デフォルトの名無しさんNGNG
(;´Д`)
0117デフォルトの名無しさんNGNG
マーケティングで、どこの市場を狙うだけ
0118デフォルトの名無しさんNGNG
答え:Cより速くなる事が理論的にありうる。
CではコンパイルされたCPUコードを逐次実行していくだけだが
最近のインタプリタ(これにはJITやレイトバインドや含む)は
実行時において、最適な実行方法を測定結果などから動的に決定
できる。各種演算についても次元数の少ないものや繰返しを行う
処理において、CPUの分岐予測とは別に予測を行うことも可能。
Javaとは別の視点ではあるがCrusoeやintentも同様の着想が見られる

# あなたが思うほど世界はそこにとどまってはいない、コンパイル技術は
# 常にCPUに対しできるだけ短い命令を生成することを行うだけではないのだ。
0119デフォルトの名無しさんNGNG
その予測を行うにもクロックサイクルが必要だけどどうなの?
118さん!
0120デフォルトの名無しさんNGNG
どちらも同じプロセッサ上で動作させるなら、Cとの差をつける
ために導入した最適化アルゴリズムそのものをCに実装してしまえば
同じになることはあっても遅くなることはないので
Javaのほうが高速なんてのは夢物語と思われ。
高速っていうより、Javaは定型化されたパターンにして
その部分を徹底して最適化することでカバーするってことなので
原理的に速いわけじゃない。
徹底して最適化されたCコードは速いぞ。
JavaがCより速いって言うのは
アセンブラよりCが速い、って言ってるのと同じことだと思うが。
0121デフォルトの名無しさんNGNG
まま。クルーソーの論文でも読んでから話しましょう。(俺は読んでないが
0122デフォルトの名無しさんNGNG
別の答え
cpu単体のベンチマークではなく、「アプリケーションの実効速度」ではどうだろうか。
例えば、火事場で一人一人がバケツで水を組んで火を消すより、バケツリレーを行った方が効率がいい。
ランタイムがそのような高度なスケジューリングを行えば、マクロな意味でCコンパイラより速いといえよう。
そんな賢いランタイムは無いが。
0123デフォルトの名無しさんNGNG
最近はコンパイル技術が進歩して下手にアセンブラで書くよりCの方が速い
ってこともある。
0124120NGNG
>>122,123
つーか、言ってることは同じなんで。
原理的にはアセンブラ以上に高速なコードはないし
(当然ながらすべてのコードはアセンブリコードに落ちるから)
要はいかに作業工程を研究された最適化しやすいパーツに
分解するかの問題に帰結するでしょ。
Java がプログラミング効率を総合的に上げるのはあってると
思うけど、同じレベルまで統合されたアルゴリズムを使えば
結果は同じ。
だからこそ、アセンブラとCの速度を比較するのがすでに
終わった議論のように Java とCの速度を比較するのも
不毛だと思うけどね。

原理的にアセンブラより Java のほうが速くなるなら、
とても興味があるのだけど。(その技法に)
0125>124NGNG
全部アセンブラで記述すれば最速だ、といっているのと同じ。
んな馬鹿らしいことはでけません。
0126>125NGNG
どこをどう読めばそういう話になるのさ?
アルゴリズムの話をしてんだよ?
理解してる?
0127デフォルトの名無しさんNGNG
ま、いいや。そのうちC#とJavaの速度差の話でも
同じ議論を繰り返すことになるんだから。
C#とJavaどっちが速い?ってね。
どっちみちJava擁護派のスレなんでここらへんで抜けるわ。
0128デフォルトの名無しさんNGNG
age
0129デフォルトの名無しさんNGNG
何度言ったら分かるんだ。
アセンブリ言語を アセンブルするのが、アセンブラだ。
0130デフォルトの名無しさんNGNG
なんかしょーもないスレがあがってるね。
0131デフォルトの名無しさんNGNG
C#で作ったアプリと汎用機のアプリを通信させるためのミドル
ウェアはなんかある?
ASPのVBからはC#呼ぶのは簡単?
ASPのサーバーってクラスタリングできる?
質問ばかりでごみんに。
0132デフォルトの名無しさんNGNG
>>129
小学舘「プログレッシブ英和中辞典」によると、
assembler language = assembly language
とあるぞ。
アセンブラで良いようだが.....
0133デフォルトの名無しさんNGNG
#マイクロソフトがやると決めたことに対してはついていかなくてはなりません。
実際のところ批判なんてしてる余地、ないよね(藁

でも技術的に僅かに新しいこと意外に、J2EEに対する.NETのメリットなんてある?
SOAPとかUDDIとか言ったってJavaのランタイムはもうありますよ。

ビルディングブロックの共有化?
確かにJavaは多方面から期待されている分、共通のものが出てくるまでが遅い。
というよりライブラリ以外になかなか共通化されたものがない。
これは実はJavaのいいところだと思うけど・・・
MSが多少設計のいただけないものでも市場に出すスピードで勝るならそれにも
メリットはあるかな?
0134デフォルトの名無しさんNGNG
J2EEってどんな用途に向いてるの?
いまいちサーブレットからのDBアクセスしている限りじゃわからん。

大規模なもの以外に何かあるのかな?
中小レベルじゃJ2EEなんて意識しなくてもいいのかな?
0135デフォルトの名無しさんNGNG
>>134
JTA,JMA,JNDIを覚えよ。
0136デフォルトの名無しさんNGNG
133だけど、
やっぱりj2eeの勉強にはPetStoreが一番なの?
みんなは最初何で勉強したの?
0137デフォルトの名無しさんNGNG
133
んー、なぜかdeploytoolがうんまくうごいてくれない。
0138デフォルトの名無しさんNGNG
動きました!だけどPetStore、重すぎ。
j2eeってなんでこんなに遅いの?
そら、サーブレットより高度なことやってんだろうけど、
CPU100%にして処理してる割にはなんだかなー
これからいろいろと中を見て調べるか。

遅いことの原因のわかる人、ヒント下さい
0139デフォルトの名無しさんNGNG
ごめそ、自分、133じゃなくて134でした。
0140デフォルトの名無しさんNGNG
「J2EEが遅い」って意味不明。「J2EE SDKが遅い」って
意味なら、まともなAPサーバを使いましょう。

メモリさえ多めに積めば遅いなんてことは全然ないはず。
0141デフォルトの名無しさんNGNG
でも.NETだと同規模のプログラムでJavaの倍以上は速いよ。
Javaが遅いというのは、言語構造上避けられない事だから、
それに対して反論しているようでは仕方ない。

Javaのメリットはもっと別の所にあるんだよ。勉強しろ>>140
0142デフォルトの名無しさんNGNG
そういう用途だとシステム全体のパフォーマンスは
DBとかNetworkとかのI/O系に引っ張られがちだろが

スループットのすべてがUser Timeで決まると思ってんの?>>141
サーバ系の仕事したこと無いのかよ
0143140NGNG
だから、Javaでも全然遅くないって...
なんだよ倍以上って。いいかげんなこというなって。

Webアプリの話してるんじゃないの? 言語の差なんて
パフォーマンスにほとんど影響ないよ。
影響があるのは、HTTPリスナとか、コネクションプール
とか、スレッド管理とかの完成度の差。
0144デフォルトの名無しさんNGNG
>>143
そりゃそうだよなあ。

今時の鯖の性能で、Object変数が参照しか使えないかどうか
(かつてC++とかいう骨董言語が拘った点)なんてことは
たいした性能ファクターになるはずないもんなあ。
モバイルの小さく弱いデバイスとかいうなら
色々考えないとなるまいが。

今時なら、ライブラリとかの実装の出来の問題が支配的だと
考えるほうがマトモ、か。
0145デフォルトの名無しさんNGNG
J2EE vs. Microsoft.NET
http://www2.theserverside.com/resources/article.jsp?l=J2EE-vs-DOTNET
0146デフォルトの名無しさんNGNG
良スレだがあえて言いたい。
すくなくともJavaに関しては、吉田みたいなドキュンの言うことを間に受けるな。
0147けろNGNG
>>145
なかなか面白そうな記事。

>>146
心情的には言わんとする事はわかるけどね。
0148オプションの名無しさんNGNG
というかIBMがCLRにJavaを載せればいいだけじゃん。
COBOL.NETっていうか?(wラ
ソレヨリモ、MSはJiniやJxtaのようなP2Pというかエージェント系技術を
そろそろ考えないと、マジヤバですな。
■ このスレッドは過去ログ倉庫に格納されています