-
Notifications
You must be signed in to change notification settings - Fork 203
Hardcoder Benchmark
sophiaguo edited this page Nov 22, 2019
·
2 revisions
使用项目中提供的 Testapp,编译与运行方法见 Hardcoder Testapp 测试指南,QuickStart 页面提供了打开 webview 与复杂运算两个测试用例。分别点击两个测试用例的 Auto Test 按钮,即可执行自动测试。
打开 webview 用例测试在不使用 Hardcoder 和使用 Hardcoder 两种情况下分别在新进程中启动 Activity 并打开 webview,统计 startActivity 开始到 webview 打开后 onPageFinished 回调的耗时。
Auto test 按钮会自动运行 10 次不使用 Hardcoder 的耗时和 10 次使用 Hardcoder 的耗时。为了减少网速的影响,相邻的两次测试分别为使用 Hardcoder 与不使用 Hardcoder,并且在结果中会去掉大于平均值 30% 的测试数据,在剩下的数据中取平均值作为本组测试结果。另外,每次测试间会停顿一段时间,待 CPU 频率趋向稳定再进行下一次测试。
测试结果中每组数值为 10 次的平均值,每台机型测试 10 组数据,共测试 100 次。
单位 ms。
机型 | HC 状态 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Total | 性能提升 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Oppo R15 | 关闭 | 2118 | 1976 | 2057 | 2107 | 2129 | 1987 | 2154 | 2265 | 2164 | 2057 | 21014 | |
打开 | 2000 | 1887 | 1967 | 1951 | 2018 | 1873 | 2022 | 2125 | 2037 | 1944 | 19824 | ||
94.43% | 95.50% | 95.62% | 92.60% | 94.79% | 94.26% | 93.87% | 93.82% | 94.13% | 94.51% | 94.34% | 5.66% | ||
Oppo R17 PRO | 关闭 | 1920 | 1928 | 2019 | 1942 | 1945 | 2053 | 2133 | 2206 | 2276 | 2245 | 20667 | |
打开 | 1824 | 1817 | 1923 | 1792 | 1863 | 1985 | 1979 | 2117 | 2186 | 2096 | 19582 | ||
95.00% | 94.24% | 95.25% | 92.28% | 95.78% | 96.69% | 92.78% | 95.97% | 96.05% | 93.36% | 94.75% | 5.25% | ||
小米MIX2s | 关闭 | 2035 | 1816 | 2071 | 2071 | 2183 | 1888 | 1924 | 2069 | 1977 | 2131 | 20165 | |
打开 | 1622 | 1526 | 1730 | 1730 | 1830 | 1569 | 1507 | 1705 | 1664 | 1822 | 16705 | ||
79.71% | 84.03% | 83.53% | 83.53% | 83.83% | 83.10% | 78.33% | 82.41% | 84.17% | 85.50% | 82.84% | 17.16% | ||
小米9 | 关闭 | 1939 | 2039 | 2074 | 1835 | 1832 | 1833 | 1691 | 1800 | 1836 | 2021 | 18900 | |
打开 | 1789 | 1845 | 1794 | 1591 | 1667 | 1704 | 1551 | 1630 | 1639 | 1801 | 17011 | ||
92.26% | 90.49% | 86.50% | 86.70% | 90.99% | 92.96% | 91.72% | 90.56% | 89.27% | 89.11% | 90.01% | 9.99% | ||
vivo X27 | 关闭 | 2524 | 1996 | 2330 | 1903 | 1905 | 2411 | 2038 | 2139 | 2373 | 2273 | 21892 | |
打开 | 2383 | 1864 | 2099 | 1780 | 1728 | 2235 | 1887 | 2019 | 2261 | 2111 | 20367 | ||
94.41% | 93.39% | 90.09% | 93.54% | 90.71% | 92.70% | 92.59% | 94.39% | 95.28% | 92.87% | 93.03% | 6.97% | ||
华为nova4 | 关闭 | 2394 | 2293 | 2164 | 2235 | 2144 | 2253 | 2410 | 2440 | 2484 | 2438 | 23255 | |
打开 | 2094 | 1977 | 2049 | 2100 | 2023 | 2088 | 2115 | 2259 | 2275 | 2247 | 21227 | ||
87.47% | 86.22% | 94.69% | 93.96% | 94.36% | 92.68% | 87.76% | 92.58% | 91.59% | 92.17% | 91.28% | 8.72% | ||
三星W2018 | 关闭 | 2176 | 1853 | 2349 | 2168 | 1960 | 2053 | 1923 | 1910 | 2060 | 1908 | 20360 | |
打开 | 1797 | 1671 | 1923 | 1958 | 1727 | 1726 | 1674 | 1706 | 1687 | 1629 | 17498 | ||
82.58% | 90.18% | 81.86% | 90.31% | 88.11% | 84.07% | 87.05% | 89.32% | 81.89% | 85.38% | 85.94% | 14.06% | ||
三星Galaxy A8s | 关闭 | 2250 | 2210 | 2232 | 2269 | 2307 | 2158 | 2132 | 2190 | 2204 | 2276 | 22228 | |
打开 | 2037 | 1942 | 2004 | 1957 | 1996 | 1959 | 1925 | 2009 | 1929 | 1911 | 19669 | ||
90.53% | 87.87% | 89.78% | 86.25% | 86.52% | 90.78% | 90.29% | 91.74% | 87.52% | 83.96% | 88.49% | 11.51% |
复杂运算用例测试在不使用 Hardcoder 和使用 Hardcoder 两种情况下分别运行同一个比较复杂的运算的耗时。
Auto test 按钮会自动运行 10 次不使用 Hardcoder 的耗时和 10 次使用 Hardcoder 的耗时,取数据平均值作为本组测试结果。另外,每次测试间会停顿一段时间,待 CPU 频率趋向稳定再进行下一次测试。
测试结果中每组数值为 10 次的平均值,每台机型测试 10 组数据,共测试 100 次。
单位 ms。
机型 | HC 状态 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Total | 性能提升 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Oppo R15 | 关闭 | 14325 | 14388 | 14181 | 14214 | 14201 | 14428 | 14495 | 14565 | 13561 | 14266 | 142624 | |
打开 | 12067 | 12002 | 12083 | 12039 | 12088 | 12104 | 12117 | 12160 | 12082 | 12015 | 120757 | ||
84.24% | 83.42% | 85.21% | 84.70% | 85.12% | 83.89% | 83.59% | 83.49% | 89.09% | 84.22% | 84.67% | 15.33% | ||
Oppo R17 PRO | 关闭 | 12598 | 12584 | 12576 | 12500 | 12614 | 12574 | 12572 | 12591 | 12578 | 12638 | 125825 | |
打开 | 10731 | 10772 | 10761 | 10744 | 10720 | 10863 | 10789 | 10791 | 10783 | 10802 | 107756 | ||
85.18% | 85.60% | 85.57% | 85.95% | 84.98% | 86.39% | 85.82% | 85.70% | 85.73% | 85.47% | 85.64% | 14.36% | ||
小米MIX2s | 关闭 | 7596 | 7462 | 7614 | 7383 | 7628 | 7712 | 7570 | 7635 | 7562 | 7600 | 75762 | |
打开 | 6777 | 6731 | 7080 | 6851 | 7178 | 6782 | 6840 | 7079 | 6778 | 6819 | 68915 | ||
89.22% | 90.20% | 92.99% | 92.79% | 94.10% | 87.94% | 90.36% | 92.72% | 89.63% | 89.72% | 90.96% | 9.04% | ||
小米9 | 关闭 | 8932 | 8726 | 8623 | 8550 | 8603 | 8756 | 8714 | 8752 | 8706 | 8658 | 87020 | |
打开 | 8819 | 8591 | 8627 | 8499 | 8547 | 8786 | 8689 | 8773 | 8688 | 8647 | 86666 | ||
98.73% | 98.45% | 100.05% | 99.40% | 99.35% | 100.34% | 99.71% | 100.24% | 99.79% | 99.87% | 99.59% | 0.41% | ||
vivo X27 | 关闭 | 8746 | 8764 | 8811 | 8861 | 8849 | 8682 | 8928 | 8814 | 9077 | 8771 | 88303 | |
打开 | 8726 | 8655 | 8766 | 8822 | 8758 | 8664 | 8838 | 8750 | 9044 | 8745 | 87768 | ||
99.77% | 98.76% | 99.49% | 99.56% | 98.97% | 99.79% | 98.99% | 99.27% | 99.64% | 99.70% | 99.39% | 0.61% | ||
华为nova4 | 关闭 | 8701 | 7526 | 7339 | 7317 | 7336 | 7358 | 7361 | 7347 | 7343 | 7339 | 74967 | |
打开 | 8630 | 7482 | 7348 | 7329 | 7353 | 7309 | 7375 | 7365 | 7343 | 7338 | 74872 | ||
99.18% | 99.42% | 100.12% | 100.16% | 100.23% | 99.33% | 100.19% | 100.24% | 100.00% | 99.99% | 99.87% | 0.13% | ||
三星W2018 | 关闭 | 8309 | 8272 | 8296 | 8246 | 8272 | 8212 | 8252 | 8262 | 8320 | 8306 | 82747 | |
打开 | 7752 | 7698 | 7733 | 7703 | 7675 | 7662 | 7702 | 7705 | 7762 | 7747 | 77139 | ||
93.30% | 93.06% | 93.21% | 93.41% | 92.78% | 93.30% | 93.33% | 93.26% | 93.29% | 93.27% | 93.22% | 6.78% | ||
三星Galaxy A8s | 关闭 | 11195 | 8693 | 8889 | 8807 | 8787 | 8822 | 8914 | 8859 | 8766 | 8800 | 90532 | |
打开 | 9652 | 7469 | 7584 | 7566 | 7519 | 7527 | 7656 | 7587 | 7536 | 7497 | 77593 | ||
86.22% | 85.92% | 85.32% | 85.91% | 85.57% | 85.32% | 85.89% | 85.64% | 85.97% | 85.19% | 85.71% | 14.29% |
- Hardcoder 测试数据与当前 CPU 状态密切相关,单次测试数据可能出现不稳定状态,需要测试多组数据;
- 不同机型 CPU 调度算法不一样,Hardcoder 性能提升的空间不一样,不同场景下的性能数据会有差别。一般来说,Hardcoder 在性能相对较差的手机上提升空间较大;
- Benchmark 中只选取了测试数据相对比较稳定的两个用例,其他例如播放网络音视频等由于受网络影响比较大,没有选为 benchmark 用例。如开发者有场景测试需求,建议把项目 app 包名改为 testapp 包名直接测试项目场景;
- 测试时请关闭后台其他应用,防止后台应用影响 CPU 频率;
- 启动 testapp 后请先点击 initHardcoder 建立连接,显示Success为连接建立成功;
- App 启动后或连接建立成功后等待约 5s 再进行测试,保证连接成功并且 CPU 处于相对稳定状态;
- 打开 webview 使用的是 Hardcoder github 页面,有可能出现当前网络不能打开,此时耗时不准确;