[英]Baseline Profiles - Metrics are not consistent
我在應用程序中實現基線配置文件,當我運行我的宏基准測試時,結果並不一致。 並非總是使用baselineprofile.txt 優化結果。
我正在使用此配置的模擬器中運行宏基准測試:
我的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 編譯比不使用基線配置文件的性能最差。
首先確保使用最新的 AGP (7.3.0-rc01)、macrobenchmark (1.2.0-alpha03) 和 profileinstaller (1.2.0)。
您用於基准測試的設備可能在不同的時間處於不同的負載下。
我建議還增加迭代次數,以提供更一致的結果。
對於樣本,我們選擇 5 次迭代作為速度和某種准確結果之間的權衡。
由於您的應用程序的里程數可能會有所不同,因此請使用不同的數字來查看適合您的應用程序。 10 次運行可以提供更准確的結果,但需要更多時間來執行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.