GoogleはAndroidデバイスのパフォーマンスとバッテリー寿命を向上させる方法を説明しました
GoogleはAndroidデバイス向けのバックグラウンド最適化を開発しています
Googleチームは、Androidベースのスマートフォンをより高速で省エネルギーにする一連の改善策を実装しようとしています。そのために、Android LLVMツールチェーンを使用してOSカーネルを更新し、Automatic Feedback-Directed Optimization(AutoFDO)技術を統合しています。
AutoFDOとは何ですか?
通常のビルドでは、コンパイラは数千もの小さな決定を行います:
– 関数をコードにインライン化するか、別途呼び出すか;
– 条件分岐のどのブランチが最も実行される可能性が高いか。
これらの決定はコード内の統計的ヒントに基づいており、必ずしもプログラムの実際の動作を反映しているわけではありません。AutoFDOはアプローチを変えます。コンパイラはデバイスの稼働中に記録された実際の「実行経路」(つまり最も頻繁に出現する命令チェーン)を受け取り、それらをより正確な最適化に使用します。
データはどのように収集されますか?
* 実機デバイスのプールから必要な情報を取得できますが、Googleは代表的な負荷に基づいてプロファイルを合成することを好みます。
* テストでは約100の最も人気のあるアプリが実行されます。
* 特別な「サンプリング」プロファイラが、実際に頻繁に使用されるコード領域とそうでない領域を特定します。
取得したプロファイルはカーネル再コンパイル時に適用され、コンパイラはAndroidの実際のワークロードに合ったより根拠ある決定を下すようになります。
初期テスト結果
* OS起動時間が2.1%短縮。
* 冷却状態(完全に停止した)からアプリ起動が4.3%改善。
* ユーザーにはあまり目立たない他の指標もわずかに向上しました。
実装方法
* AutoFDOはデフォルトでカーネルに含まれ、保守的に設定されます。プロセスが事前定義されたパターンを超えると、システムは従来の最適化手法に戻ります。
* この技術は新しいAndroidカーネルバージョンで登場します:
* Android 16(kernel 6.12)
* Android 15(kernel 6.6)
* 将来のリリース、含むAndroid 17(kernel 6.18)
ユーザーへのメリット
GoogleはAutoFDO導入により次が実現すると主張しています:
* より応答性の高いインターフェイス
* アプリ間の高速切替
* バッテリー寿命の延長
* デバイス全体の総合的なパフォーマンス向上
したがって、実際の実行シナリオに基づくバックグラウンド最適化は、ユーザーエクスペリエンスに顕著な変化をもたらすことなくAndroidスマートフォンをより高速で省エネルギーにするはずです
コメント (0)
感想を共有してください。礼儀正しく、話題に沿ってお願いします。
コメントするにはログイン