InfoQ

News

Excelsior JET 6.4: 小さく、速く、安全になったJava

作者 Craig Wickesser, 翻訳者 大田 緑 - (株)チェンジビジョン 投稿日 2008年7月4日 午後12時59分

コミュニティ
Java
トピック
セキュリティ,
パフォーマンス&スケーラビリティ,
コンパイラ
タグ
JVM,
Excelsior Jet

Excelsior(リンク・英語)は1999年に設立され、最近、Excelsior JET(リンク・英語)6.4をリリースした。この最新バージョンには価値のある機能が含まれている。データやリソースの暗号化、スタートアップオプティマイザー、スマートコンパイルなどである。

データやリソースの暗号化
前のバージョンでは、コンパイルされたJavaクラスが最適化された結果として、コードは「安全」であった。しかし、これは、文字列、リフレクション情報、メディアファイルやプロパティファイルは保護していなかった。最新のリリースでは、これらのことはすべて「JETコントロールパネル」の単なるオプションの選択によって暗号化できる。ときどきコードが動かなくなることがある名前の最適化とは異なるものとして、Excelsiorのマーケティング部長、Dmitry Leskov氏は次のように言及する。

Javaアプリケーションを保護するために通常使われる名前の最適化とは対照的に、オンデマンドの復号化は、リフレクションやJNIで完全に機能できる状態を実現します。
オンデマンドの復号化によるパフォーマンスの低下に関して、Dmitryは次のように述べている。
私たちの測定ではパフォーマンスの低下は極わずかです。しかし、これもさらに高度な暗号化のスキーマで改善されるかもしれません。顧客からの要望があれば、将来のバージョンで対応する可能性があります。
スタートアップオプティマイザー

標準のSun JVMは、パフォーマンスをわずかに向上させるためランタイム中にJavaコードを最適化する。しかしながら、Excelsior JET 6.4に含まれているのは新しいスタートアップオプティマイザーであり、2つの要因によってアプリケーションのスタートアップ時間を減少することができる。この機能に関するさらなる情報は、Excelsior JET ユーザーガイド(リンク・英語)の「スタートアップ時間の最適化」の章で参照できる。

スマートコンパイル

他の注目に値する変更のひとつは、レベル0の「スマート」コンパイルである。Excelsiorウェブサイト(リンク・英語)を引用しよう。

JETオプティマイザーは、プロジェクトの変更を追跡します。これにより付属のアプリケーションファイルやプロジェクト設定だけが修正された場合は、アプリレーション全体をリコンパイルしないようにします。これは、コンパイル時間を著しく減らします。例えば、バージョン情報、ランタイム設定、リソースファイル、アイコン/スプラッシュ画面などを修正する場合です。 

InfoQはまた、彼らの主張を支持するベンチマークの結果や、Excelsior JETとGCJやApache Harmonyなどの他のVMで利用できるものとの比較についてDmitry氏に尋ねた。

私たちは、内部的に数多くのベンチマークを走らせています。ええ、確かに6.4のベンチマークの結果がいくつかありますが、それらを公開する時間がありませんでした。私たちは、SPECjvm2008の結果をすぐに公開したいと思っています。私が知っているもっとも最近のサードパーティによる結果は、http://www.stefankrause.net/wp/?p=6で参照できます。Sun JDK、IBM JDK、BEA JRockit、GCJ、Apache Harmony、Excelsior JETが挙げられていて、GCCやIntel C++は不利な結果になっています。

Java 5や6で書かれたアプリケーションは、Excelsior JET 6.4でサポートする。一方、Java 1.4.2 のアプリケーションは、まだ、Excelsior JET 4.8を使うことができる。Excelsior JETの将来について、Dmitry氏はこのように語っている。

製品が新しいマーケットセグメントに入いっていけるように、私たちは重要な機能に取り組んでいます。このリリースの前にその機能を完成させる時間がありませんでした。したがってこのようなバージョン番号になっています。(6.5の代わりに6.4) 私たちはこの機能を発表し、7月半ばから後半にかけてベータ版を作ろうと計画しています。どうぞそのままお待ちください。:) 

Excelsiorが、JET製品を組み込み(リンク・英語)アプリケーションに提供することも触れておく価値があるであろう。

原文はこちらです:http://www.infoq.com/news/2008/06/excelsior_64

ブックマーク
digg+,
reddit+,
del.icio.us+,
dzone+,
Hatena

No comments

返信

特集コンテンツ一覧

トップスポーツチームの監督に教わる秘訣

この論文では、氏が発見した原則を要約し、その原則をいかにしてソフトウェア開発に応用するかを説明します。

事例研究:Dutch Railwaysのプロジェクトにおける分散拠点でのスクラム・プロジェクト

この記事では、私達がどのようにして大規模(240人月、10万行強)でインドとオランダの開発者も参加したスクラム・プロジェクトを成功させたのかを示しています。

Agile2008チーム参加レポート - 帰国そして変化

Agileカンファレンスに「参加者としてだけでなく、発表者として参加しよう」を掲げたチームgoyattomは、サブミッションを提出し、7つのセッションが日本から選択されました。参加者はカンファレンスで各々の発表や、各セッションへの参加、諸外国のエンジニアとの出会い、ステージ上で DearXPを熱演などの様々な思い出を抱えて、無事日本に戻ってきました。

SilverlightとJavaのインターオペラビリティ

マイクロソフトのRobert Bellが、SilverlightとJavaを使用したインターオペラビリティのシナリオを紹介し、サンプルコードを例にとってアーキテクチャの手引きを提供します。

Agile2008 チーム参加レポート - カンファレンス参加編

Agileカンファレンスに「参加者としてだけでなく、発表者として参加しよう」を掲げたチームgoyattomは、サブミッションを提出し、7つのセッションが日本から選択されました。サブミッションが選択された人、そうでない人も含めて、個々の目的意識の確認、膨大なプログラムから聞きたいセッションの選択、旅行の準備、プレゼンテーションの準備の期間を終えて、無事当日を迎えました。

Agile2008 チーム参加レポート - 動機/準備編

筆者はアジャイルソフトウェア開発についての年に一度の国際会議であるAgile2008に初めて参加してきました。今年の日本からの参加者の数は14名にも及び、発表者は5名、受け持ったセッションは8つに及び、例年にない活躍を見せました。なぜ今年のAgile2008では、これほど多くの日本人が参加し発表に至ったのか? そのレポートをお届けします。

Javaトラブルシューティングメルマガ総集編 2008/08~09

エスエムジーでは、Java全般を対象にしたトラブルシューティングサービス「JaTS」を提供しています。この記事では、前回に引き続き、JaTSにて蓄積したトラブル事例とその解決ノウハウの一部をお送りしている「Javaトラブルシューティングメールマガジン」(JTSMM)の総集編として、過去2ヶ月のトラブル事例と追加情報をダイジェストとして提供いたします。

モデル駆動アプローチがうまく機能しない(しなくなる)8 つの理由

この記事では、モデル駆動アプローチがうまく機能しない、または機能しなくなることによって期待した結果が実現できなくなる 8 つの理由について書きたいと思います。