BT

InfoQ ホームページ ニュース Jack & Jill: パフォーマンス向上のためのAndroid用の新コンパイラ

Jack & Jill: パフォーマンス向上のためのAndroid用の新コンパイラ

ブックマーク

原文(投稿日:2014/12/04)へのリンク

Saikoaのテクニカルディレクタで,DexGuardを開発したEric Lafortune氏が,Android 5.0 Revision 1 (API 21.1)のSDKに新しいツールを見付けた。JackとJillという名の2つのコンパイラだ。いずれのツールも,Androidのコンパイルプロセスの合理化を目的にしている。

GoogleはART(Android Run Time)を,KitKatの試験的ユーティリティとして導入した。LollipopではこれがDalvikに代わり,デフォルトのランタイムとなっている。ARTはアプリケーションがデバイスにインストールされた時に,そのDEXバイトコードを読み取って,ネイティブコードに変換するという,アヘッド・オン・タイムのコンパイルを実行するが,この時にデバイスの特性を考慮している。Googleは今回,このコンパイルプロセスを,さらに強化しているようなのだ。

Lafortune氏によると,Jackは,EclipseのJavaコンパイラとProGuardをベースとしたツールである。ProGuardは,使用されないコードを取り除いてコードベースを縮小すると同時に,クラスやメソッド,フィールドの名前を変更して難読化するという,最適化ツールである。ProGuardはAndroidのビルドシステムに統合されているが,リリースバイナリ生成時には,開発者がその利用の有無を選択するように推奨されている。Jackが公式ツールになれば,それを使わざるを得なくなるが,コンフィギュレーションファイルの設定を通じてコントロールすることは可能だ。

もうひとつの新ツールであるJillは,Javaライブラリのバイトコードを,Jayceという中間バイトコードに変換するために使用される。JackはJavaソースコードとJayceバイトコードの両方をコンパイルして,最適化されたDEXバイトコードを生成する。いずれのコンパイラも"十分に機能するようだ"が,Jackは"(まだ),ログコードの削除など,ProGuardの高度な機能の一部を"サポートしていない,と氏は記している。

Java 8はまだサポートされていないが,"後方互換性と,将来的な拡張に向けての可能性"はある,と氏は付け加えている。これらのツールは,Androidプラグイン 1.0.0 RCを使用したGradleのビルドで試用できる。

従来よりも最適化され,サイズが小さく,おそらくは難読化されたコードを生成するJackとJillは,Googleのオペレーティングシステムのパフォーマンスを向上するための,Googleによるもうひとつの試みなのだ。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

BT

あなたのプロファイルは最新ですか?プロフィールを確認してアップデートしてください。

Eメールを変更すると確認のメールが配信されます。

会社名:
役職:
組織規模:
国:
都道府県:
新しいメールアドレスに確認用のメールを送信します。このポップアップ画面は自動的に閉じられます。