鈴の音情報局blog

携帯関連の将来や最新の技術情報や業界の行く末などを適当に綴るblogです。 内容の信憑性は?余り信じない方がいいと思います。
本家の鈴の音情報局はこちら→http://suzusuzu.dip.jp:8800/
スマホ・携帯端末アクセス[ランキング][アクセスシェア(グラフ)] (毎年10/1にログをクリア)

Android NではARTのプリコンパイルを一部JIT化して、アプリのインストール時間を短縮して数分の一の時間に

Android Nではアプリのインストール時のARTランタイムのアプリの最適化の手法を変更する
ことにより、インストール時間の短縮を行うようです。

Android Nの新機能 :ARTランタイムの改良でシステムアップデート時の「アプリの最適化」にかかる時間が大幅に短縮 ~ juggly.cn
Android の次期バージョン「Android N」では、Java アプリのランタイム環境となる「ART(Android RunTime)」で JIT(Just-In-Time)型のコンパイル操作が採用され、システムアップデート時の「アプリの際の「アプリの最適化」やアプリのインストール・アップデートにかかる時間が大幅に短縮されました。

Ahead-of-Time型からJust-In-Time(JIT)型へ。
事前コンパイルから実行時コンパイルになったという事です。

JITはDalvikでもAndroid 2.2から採用され、アプリの高速化に貢献してきました。
今回はそれをARTにも採用という事になりました。

Android向けのアプリのインストールには、7-ZIPで圧縮されているAPKの解凍がまず必要なので、
サイズの大きなアプリは数十メガのZIP解凍が初段で入ります。Androidのアプリのインストールに
少々の時間が必要になるのはまずこれが原因。

配布に多くのリソースを含んでワンパック化して更にコンパクトに出来るAPKの配布形態ですが、
インストール時にはその分のCPUパワーを要求します。この辺りは一長一短。

一方アップルのiOS向けのバイナリはIPAファイルという形で提供されており、こちらも実際には
ZIPファイルとなっています。なので長所短所は似たようなものという所ですね。

ただ、Androidはその上にARTの為のコンパイル作業が入ります。
具体的にはLLVMを通って、実際のプロセッサの命令に変換されていくのですが、
その過程でコードを何パスもして最適化を試みていると思われます。
となると、複雑なコードを何パスもするのは非常に重い作業になっており、そこで
プリコンパイルに時間を要する事になります。

これの何パス分かをJITで実行時に移行することで、プリコンパイルの作業量を減らすわけです。
JITのいい所は、実際に実行されるまではコンパイルされませんから、滅多に使わない機能を
バージョンアップが来るたびに毎回プロいコンパイルされる事は有りません。
それでインストール時間が短くなるのでしたら嬉しいです。

しかしJITは実行時にまだコンパイルをする必要が有りますから、初回の実行時は多少実行
速度が落ちてしまいます。十分に実行が進んでいないアプリは、JITでコンパイルが入る可能性
が否めません。その作業が重くならないとは言えないので、多少初回実行時はモッサリ感を感じる
アプリが出てくる可能性は否定できません。

どこかでコンパイルをしないといけないので、その負担をどこに持ってくるのが一番快適に
なるのかを追求した結果がJITだったのかも知れませんね。



実際にAndroid N Developer Previewで試してみた記事が有りますのでそれも紹介。
Android NはAndroid 6.0よりも短時間でアプリをインストールできる(動画あり) ~ juggly.cn
Android の次期メジャーアップデート版「Android N」では、アプリのランタイム「ART」の改良によって、システムアップデート時の「アプリの最適化」やアプリのインストールにかかる時間が大幅に短縮するはずだと紹介しましたが、実際に Android 6.0 と比較してどれくらいの差が見られるのかをアプリのインストール操作で確かめてみました。

インストール時の負担がかなり減っている事が分かります。

 ・Nexus 5X(Android N Developer Preview) 4秒
 ・Nexus 6P(Android 6.0.1 Marshmallow) 14秒

関連記事
  1. 2016/04/05(火) 19:38:38|
  2. 携帯
  3. | トラックバック:0
  4. | コメント:0
<<Androidスマホキャリア・メーカーは、Googleの月例パッチの配布をもっと小まめに出来る体制を整えるべし | ホーム | ユーザー報告でMashmallowの3月セキュリティーパッチでメモリリークが修正が確認された模様+XperiaがMashmallowアップで指紋認証がネイティブ化・・・その結果(追加編集)>>

コメント

コメントの投稿(投稿時には必ず何らかの名前を付けてください)


管理者にだけ表示を許可する

(名前を入れないとクリックできません)

トラックバック

トラックバックURLはこちら
http://suzunonejh.blog15.fc2.com/tb.php/6666-58a15d36
この記事にトラックバックする(FC2ブログユーザー)

最近の記事

機能リンク

最近のコメント

カテゴリー

ブログ内検索

ブログリンク

RSSフィード

QRコード

QR

月別アーカイブ



メールフォーム

お問い合わせ・ご質問はこちらから。

名前:
メール:
件名:
本文:

suzunone.m(あっと)gmail.com に
直メでもOKです。