-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Add benchmark for clipper layers raster cache #102495
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
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. |
flar
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
|
@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. |
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.