angulars の新しい Ivy レンダラーのパフォーマンス ベンチマークを開発していますが、ほぼすべてのテストで、古いレンダラーよりも少なくとも 1.5 倍悪い結果が得られました。この問題の原因は何ですか?
すべてのベンチマークは、まったく同じ角度プロジェクト (バージョン 8.0.0 Beta-11) を使用して実装されました。ベンチマーク間の唯一の違いは、「enableIvy」: true フラグを使用してアイビー レンダラーを有効にしたことです。
Ivy レンダラーは、ベンチマークで変更する要素の量に応じて指数関数的に悪化しているようです。1.000 個の要素を追加すると、新しいアイビー レンダラーのベンチマークが 1.5 倍悪くなりますが、10.000 個の新しい要素を追加すると、既に ivy のパフォーマンス不足が 3 倍になります。
"angularCompilerOptions": {
"enableIvy": true,
"allowEmptyCodegenFiles": true
}
私が Google ベンチマークに期待する結果は次のとおりです。(1) バンドル サイズが劇的に縮小され、(2) 古いビュー レンダラーよりも ivy の方がパフォーマンスが向上します。
ソース: https://youtu.be/jnp_ny4SOQE?t=2263 https://github.com/angular/angular/issues/25569