【发布时间】:2022-11-05 05:09:31
【问题描述】:
我在应用程序中实现基线配置文件,当我运行我的宏基准测试时,结果并不一致。并非总是使用baselineprofile.txt 优化结果。
我正在使用此配置的模拟器中运行宏基准测试:
- 像素 6
- Android 11.0 (API 30) x86_64 (Google API)
- 6144MB 内部存储
- 1536GB 内存
我的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
但是这里使用基线配置文件的 COLD 编译比不使用基线配置文件的性能最差。
【问题讨论】:
标签: android performance baseline-profile macrobenchmark