Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Compose Compiler Metrics 詳細と活用方法

makun
April 20, 2023

Compose Compiler Metrics 詳細と活用方法

makun

April 20, 2023
Tweet

More Decks by makun

Other Decks in Programming

Transcript

  1. 概要 1. Compose Compiler Metrics とは 2. Metrics の生成方法 3.

    Metrics の内容の紹介 4. 注目すべき内容 5. 活用方法
  2. ChatGPTにきいてみた Compose Compiler Metrics は、Jetpack Compose Compiler の パフォーマン スと効率を測定するメトリクスのセット

    です。Compiler Metics は、開発プロセス におけるコンパイラのパフォーマンスを追跡し、Compose Compiler の パフォー マンスを最適化するために改善できる部分を特定するために使用 されます。
  3. Compose Compiler Metricsとは Compose Compiler プラグインによって生成できる情報 のこと。 Compose Compiler プラグインは、特定の

    Compose 固有の概念に関するレ ポートやメトリクスを生成する ことができ、Compose コードに何が起こっている かを細かいレベルで理解するのに役立ちます。
  4. skippable 再コンポーズ時に値が同じであれば、その Composable が再コンポーズをス キップできる状態 のこと。その Composable が skippable であれば、必ず

    restartable でもある。 親 Composable 子 Composable NOT skippable 子 Composable skippable 再コンポーズ 再コンポーズ スキップ
  5. restartable but not skippable composables.txt では restartable だけれど skippable ではない

    Composable をみることがある。 state1 state2 state3 skippable 〇 restartable 〇 〇
  6. restartable but not skippable Composable が 100個 restartable が 60個

    skippable が 53個 restartable だけど skippable でない Composable が 60 - 53 = 7個 ある。
  7. restartable but not skippable 全ての Composable を skippable にしなければいけないわけではない。 そのような

    Composable をみつけたときは、次の選択肢のうちどれか1つを選 択できる。 1. 引数を全て stable にし skippable にする 2. @NonRestartableComposable と記す
  8. Composableの初期値 composables.txt で Composable の引数に初期値があるとき @static や @dynamic をみることがある。 @static

    引数の初期値が安定した値 @dynamic 引数の初期値が 動的に変更される可能性がある 値
  9. レビューコストの削減 CI などで Compose Compiler Report to HTML で HTML

    を書き出し、 Jenkins の HTML Publisher Plugin を使って確認しやすくしたりできる。