Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

タグ

ブックマーク / embedded.hatenadiary.org (5)

  • AndroidのARTでは実行中にプロファイリングを行ってそれに基づいて再コンパイルするようだ - 組み込みの人。

    DalvikVMのJIT vs ARTのAOT AndroidのDalvikVMではDEXコードをインタプリタで実行しつつ、プロファイリングを行っていて実行頻度の高い部分をJITコンパイルします。コンパイルはメソッドよりも小さな単位で行われ、コンパイルにかかる時間もメモリも小さいのが特徴です。ただし、全体を見渡すような最適化を行うことはできません。コンパイルした結果は保存しません。当に必要な部分しかコンパイルしないので、コードサイズの増大は最小限です。 それに対して、新しく登場したARTではDEXコードを実行する前にあらかじめコンパイルします。(=AOT: Ahead Of Time compile) コンパイルはインストール時などに行われます。コンパイルには多少時間がかかりメモリも消費しますが、JITに比べて最適化されたコードを生成することができます。コンパイルした結果は保存されるので

    AndroidのARTでは実行中にプロファイリングを行ってそれに基づいて再コンパイルするようだ - 組み込みの人。
    rgfx
    rgfx 2014/05/11
  • ARM 64bit でLLVMは見逃せない - 組み込みの人。

    iPhone5S, iPad Airで64bit ARMプロセッサをいち早く製品化したAppleですが、驚きのニュースがありました。 AppleはOS X, iOSのコンパイラツールチェインをgccからclang/LLVMに移行しています。その64bit ARM向けのバックエンドをLLVMのコミュニティに公開し、それを家のツリーのメインラインに統合するという話です。 ニュースの概要は以下の記事で読むことができます。 Apple Open-Sources Their 64-bit ARM LLVM Back-End - Phoronix その続報。 Apple, LLVM Developers Figure Out Their 64-Bit ARM Approach - Phoronix 一次ソースを自分でも確認しました。ことの始まりはLLVMdevのメーリングリストのこの投稿。 http

    ARM 64bit でLLVMは見逃せない - 組み込みの人。
  • Android 4.4 のARTのコンパイルしたコードを見た感想 - 組み込みの人。

    前回(Android 4.4 のARTのブートログを見てみた - 組み込みの人。)の続きです。取り出したoatファイルをoatdumpコマンドで見てみます。 $ oatdump --oat-file=system@priv-app@Launcher2.apk@classes.dex > Launcher2.dump Launcher2.dumpの先頭の5000行をここに貼りました。 この結果の先頭部分はこんな感じです。 MAGIC: oat 007 CHECKSUM: 0x43c6bd69 INSTRUCTION SET: Thumb2 DEX FILE COUNT: 1 EXECUTABLE OFFSET: 0x0008e000 IMAGE FILE LOCATION OAT CHECKSUM: 0x1261e085 IMAGE FILE LOCATION OAT BEGIN: 0x60

    Android 4.4 のARTのコンパイルしたコードを見た感想 - 組み込みの人。
    rgfx
    rgfx 2013/11/11
  • Android 4.4 のARTのブートログを見てみた - 組み込みの人。

    前回の記事(Android 4.4に入ったARTのソースを見た感想 - 組み込みの人。)ではソースコードを見ただけで、動かしてはいませんでした。 今回はAndroid 4.4のソースコードを自分でビルドしてemulatorを作り、そのブートログを見て気がついたことを書きます。 採取したブートログはここからたどれます。 KMC Staff Blog:各種Android端末のブートログ ARTに切り替えてからの初回起動と2回目起動の違い まずはデフォルトであるDalvikで今まで通り5種類のログをとりました。(カーネルログ、Androidlogcat、Androidのprop、/proc/cpuinfo、/proc/config.gz) その後、SettingアプリのDeveloper optionのところで、runtimeをARTに切り替えました。ダイアログに従って進むと再起動がかかります

    Android 4.4 のARTのブートログを見てみた - 組み込みの人。
    rgfx
    rgfx 2013/11/11
  • Android 4.4に入ったARTのソースを見た感想 - 組み込みの人。

    Android 4.4 (Kitkat) のソースコードが公開されました。話によるとDalvikを置き換えるARTというものが開発者向けに使えるようになっているそうです。面白そうなので調べてみました。以下は全て推測と個人の感想です。 ART とは 公式な情報はこれ https://source.android.com/devices/tech/dalvik/art.html Dalvikと置きかえて使えるランタイム まだ開発中。開発者のフィードバックを得るために公開した Dalvikがデフォルトであると強調。 Dalvikのランタイムはlibdvm.soで、ARTではそれがlibart.soに置き換わるらしい。開発者メニューでどちらを使うのか切り替えることができるようだ。 http://gigaom.com/2013/10/22/google-buys-frances-flexycore-

    Android 4.4に入ったARTのソースを見た感想 - 組み込みの人。
    rgfx
    rgfx 2013/11/04
  • 1