Add benchmark for clipper layers raster cache#102495
Add benchmark for clipper layers raster cache#102495wangying3426 merged 6 commits intoflutter:masterfrom
Conversation
|
@flar Could you have time to have a look at this? Thanks. |
|
First, this appears to be modifying an existing benchmark. Once a benchmark is added, it should remain stable as its performance history is tracked. If you have new things to benchmark, a new benchmark should be created so that it doesn't interfere with existing metrics. Second, please run A/B tests with more than 1 iteration so that benchmark jank is averaged out. I typically run AB=4. |
Thank you for reply. For the this point, clipper_cache_perf__e2e_summary seems to be a new benchmark so that it doesn't interfere with existing metrics. For the second point, the result of AB=4 also shows that the rasterizer time is reduced, see: {
"benchmark_type": "A/B summaries",
"version": "1.0",
"local_engine": "android_profile",
"task_name": "clipper_cache_perf__e2e_summary",
"run_start": "2022-05-10T22:09:00.669800",
"run_end": "2022-05-10T22:18:58.771409",
"default_results": {
"average_frame_build_time_millis": [
1.228,
1.011,
1.093,
1.058
],
"worst_frame_build_time_millis": [
4.954,
2.433,
2.533,
2.548
],
"90th_percentile_frame_build_time_millis": [
1.889,
1.445,
1.442,
1.38
],
"99th_percentile_frame_build_time_millis": [
4.206,
2.072,
2.268,
2.199
],
"average_frame_rasterizer_time_millis": [
2.838,
3.222,
3.269,
3.173
],
"worst_frame_rasterizer_time_millis": [
5.122,
4.463,
5.485,
4.729
],
"90th_percentile_frame_rasterizer_time_millis": [
3.332,
3.925,
3.833,
3.662
],
"99th_percentile_frame_rasterizer_time_millis": [
4.243,
4.282,
4.25,
4.259
],
"average_layer_cache_count": [
0.0,
0.0,
0.0,
0.0
],
"90th_percentile_layer_cache_count": [
0.0,
0.0,
0.0,
0.0
],
"99th_percentile_layer_cache_count": [
0.0,
0.0,
0.0,
0.0
],
"worst_layer_cache_count": [
0.0,
0.0,
0.0,
0.0
],
"average_layer_cache_memory": [
0.0,
0.0,
0.0,
0.0
],
"90th_percentile_layer_cache_memory": [
0.0,
0.0,
0.0,
0.0
],
"99th_percentile_layer_cache_memory": [
0.0,
0.0,
0.0,
0.0
],
"worst_layer_cache_memory": [
0.0,
0.0,
0.0,
0.0
],
"average_picture_cache_count": [
3.0,
3.0,
3.0,
3.0
],
"90th_percentile_picture_cache_count": [
3.0,
3.0,
3.0,
3.0
],
"99th_percentile_picture_cache_count": [
3.0,
3.0,
3.0,
3.0
],
"worst_picture_cache_count": [
3.0,
3.0,
3.0,
3.0
],
"average_picture_cache_memory": [
4.990150451660156,
4.990150451660156,
4.990150451660156,
4.990150451660156
],
"90th_percentile_picture_cache_memory": [
4.990150451660156,
4.990150451660156,
4.990150451660156,
4.990150451660156
],
"99th_percentile_picture_cache_memory": [
4.990150451660156,
4.990150451660156,
4.990150451660156,
4.990150451660156
],
"worst_picture_cache_memory": [
4.990150451660156,
4.990150451660156,
4.990150451660156,
4.990150451660156
],
"new_gen_gc_count": [
0.0,
0.0,
0.0,
0.0
],
"old_gen_gc_count": [
0.0,
0.0,
0.0,
0.0
]
},
"local_engine_results": {
"average_frame_build_time_millis": [
1.147,
1.123,
0.957,
0.989
],
"worst_frame_build_time_millis": [
6.626,
3.815,
3.987,
2.496
],
"90th_percentile_frame_build_time_millis": [
1.8,
1.588,
1.325,
1.491
],
"99th_percentile_frame_build_time_millis": [
3.165,
3.455,
2.055,
2.346
],
"average_frame_rasterizer_time_millis": [
2.194,
2.124,
2.253,
2.263
],
"worst_frame_rasterizer_time_millis": [
6.192,
3.112,
3.158,
2.924
],
"90th_percentile_frame_rasterizer_time_millis": [
2.596,
2.563,
2.67,
2.658
],
"99th_percentile_frame_rasterizer_time_millis": [
2.9,
2.83,
2.932,
2.868
],
"average_layer_cache_count": [
3.0,
3.0,
3.0,
3.0
],
"90th_percentile_layer_cache_count": [
3.0,
3.0,
3.0,
3.0
],
"99th_percentile_layer_cache_count": [
3.0,
3.0,
3.0,
3.0
],
"worst_layer_cache_count": [
3.0,
3.0,
3.0,
3.0
],
"average_layer_cache_memory": [
4.6307373046875,
4.6307373046875,
4.6307373046875,
4.6307373046875
],
"90th_percentile_layer_cache_memory": [
4.6307373046875,
4.6307373046875,
4.6307373046875,
4.6307373046875
],
"99th_percentile_layer_cache_memory": [
4.6307373046875,
4.6307373046875,
4.6307373046875,
4.6307373046875
],
"worst_layer_cache_memory": [
4.6307373046875,
4.6307373046875,
4.6307373046875,
4.6307373046875
],
"average_picture_cache_count": [
0.0,
0.0,
0.0,
0.0
],
"90th_percentile_picture_cache_count": [
0.0,
0.0,
0.0,
0.0
],
"99th_percentile_picture_cache_count": [
0.0,
0.0,
0.0,
0.0
],
"worst_picture_cache_count": [
0.0,
0.0,
0.0,
0.0
],
"average_picture_cache_memory": [
0.0,
0.0,
0.0,
0.0
],
"90th_percentile_picture_cache_memory": [
0.0,
0.0,
0.0,
0.0
],
"99th_percentile_picture_cache_memory": [
0.0,
0.0,
0.0,
0.0
],
"worst_picture_cache_memory": [
0.0,
0.0,
0.0,
0.0
],
"new_gen_gc_count": [
2.0,
2.0,
2.0,
2.0
],
"old_gen_gc_count": [
0.0,
0.0,
0.0,
0.0
]
}
} |
Please ignore that part of my comment. When I looked at it the other day all I saw was a few changes that updated a file in the macrobenchmarks area - which looked exactly like it was just modifying an existing benchmark. But, I now see that this PR is about adding a new benchmark. I think I was confused by the link in one of the emails taking me to just a single commit in the chain rather than showing me the entire set of code changes. |
|
@keyonghan did you look over the CI files? |
|
flutter/engine#32899 depends on it, so merge it first. we can revert it later if there is any problem. |
|
Tracking history for the benchmark: https://flutter-flutter-perf.skia.org/e/?queries=test%3Dclipper_cache_perf__e2e_summary |
Benchmark for flutter/engine#32899.
The test result shows that it reduced the rasterizer time by using raster cache to replace saveLayer.
Pre-launch Checklist
///).If you need help, consider asking for advice on the #hackers-new channel on Discord.