Baseline Profiles性能指标不一致问题求助
集成Baseline Profile后宏基准测试结果不一致问题
我在应用中集成Baseline Profile时,运行宏基准测试发现结果不稳定,并非每次使用baselineprofile.txt都能实现性能优化。
测试所用模拟器配置:
- Pixel 6
- Android 11.0 (API 30) x86_64 (Google APIs)
- 6144MB 内部存储
- 1536MB 内存
我的baselineprofile.txt文件大小为7MB。
第一次测试结果(符合预期)
HomeStartupBenchmark_startupNoCompilation[mode=COLD] timeToInitialDisplayMs min 344.4, median 424.3, max 466.6 Traces: Iteration 0 1 2 3 4 HomeStartupBenchmark_startupFullCompilation[mode=COLD] timeToInitialDisplayMs min 355.0, median 379.1, max 690.1 Traces: Iteration 0 1 2 3 4 HomeStartupBenchmark_startupPartialBaseline[mode=COLD] timeToInitialDisplayMs min 211.4, median 319.0, max 363.3 Traces: Iteration 0 1 2 3 4 HomeStartupBenchmark_startupPartialNoBaseline[mode=COLD] timeToInitialDisplayMs min 301.1, median 396.0, max 479.3 Traces: Iteration 0 1 2 3 4 HomeStartupBenchmark_startupNoCompilation[mode=WARM] timeToInitialDisplayMs min 285.1, median 385.5, max 435.4 Traces: Iteration 0 1 2 3 4 HomeStartupBenchmark_startupFullCompilation[mode=WARM] timeToInitialDisplayMs min 238.1, median 331.8, max 360.9 Traces: Iteration 0 1 2 3 4 HomeStartupBenchmark_startupPartialBaseline[mode=WARM] timeToInitialDisplayMs min 263.4, median 338.9, max 393.4 Traces: Iteration 0 1 2 3 4 HomeStartupBenchmark_startupPartialNoBaseline[mode=WARM] timeToInitialDisplayMs min 281.2, median 373.1, max 434.0 Traces: Iteration 0 1 2 3 4 HomeStartupBenchmark_startupNoCompilation[mode=HOT] timeToInitialDisplayMs min 243.8, median 252.2, max 280.8 Traces: Iteration 0 1 2 3 4 HomeFeedStartupBenchmark_startupFullCompilation[mode=HOT] timeToInitialDisplayMs min 219.2, median 245.9, max 272.7 Traces: Iteration 0 1 2 3 4 HomeStartupBenchmark_startupPartialBaseline[mode=HOT] timeToInitialDisplayMs min 175.4, median 284.6, max 611.3 Traces: Iteration 0 1 2 3 4 HomeStartupBenchmark_startupPartialNoBaseline[mode=HOT] timeToInitialDisplayMs min 253.0, median 305.9, max 310.7 Traces: Iteration 0 1 2 3 4
本次测试中,startupPartialBaseline在COLD、WARM、HOT所有编译模式下的结果均优于startupPartialNoBaseline,符合预期。
第二次测试结果(不符合预期)
HomeStartupBenchmark_startupNoCompilation[mode=COLD] timeToInitialDisplayMs min 510.6, median 702.0, max 1,456.0 Traces: Iteration 0 1 2 3 4 HomeStartupBenchmark_startupFullCompilation[mode=COLD] timeToInitialDisplayMs min 323.5, median 425.0, max 650.1 Traces: Iteration 0 1 2 3 4 HomeStartupBenchmark_startupPartialBaseline[mode=COLD] timeToInitialDisplayMs min 277.8, median 385.7, max 1,416.7 Traces: Iteration 0 1 2 3 4 HomeStartupBenchmark_startupPartialNoBaseline[mode=COLD] timeToInitialDisplayMs min 249.4, median 319.4, max 437.9 Traces: Iteration 0 1 2 3 4 HomeStartupBenchmark_startupNoCompilation[mode=WARM] timeToInitialDisplayMs min 217.9, median 301.1, max 340.5 Traces: Iteration 0 1 2 3 4 HomeStartupBenchmark_startupFullCompilation[mode=WARM] timeToInitialDisplayMs min 197.0, median 269.0, max 337.6 Traces: Iteration 0 1 2 3 4 HomeStartupBenchmark_startupPartialBaseline[mode=WARM] timeToInitialDisplayMs min 214.6, median 281.5, max 323.3 Traces: Iteration 0 1 2 3 4 HomeFeedStartupBenchmark_startupPartialNoBaseline[mode=WARM] timeToInitialDisplayMs min 246.4, median 358.8, max 418.0 Traces: Iteration 0 1 2 3 4 HomeStartupBenchmark_startupNoCompilation[mode=HOT] timeToInitialDisplayMs min 254.1, median 449.9, max 473.9 Traces: Iteration 0 1 2 3 4 HomeStartupBenchmark_startupFullCompilation[mode=HOT] timeToInitialDisplayMs min 391.3, median 823.7, max 1,448.4 Traces: Iteration 0 1 2 3 4 HomeStartupBenchmark_startupPartialBaseline[mode=HOT] timeToInitialDisplayMs min 206.1, median 235.2, max 335.4 Traces: Iteration 0 1 2 3 4 HomeStartupBenchmark_startupPartialNoBaseline[mode=HOT] timeToInitialDisplayMs min 237.8, median 246.8, max 275.0 Traces: Iteration 0 1 2 3 4
本次测试中,使用Baseline Profile的COLD编译模式性能反而不如未使用的情况,恳请帮忙分析原因并提供解决方案。
内容的提问来源于stack exchange,提问作者Carlos Lopez
相关产品推荐
相关产品推荐

