Home

Awesome

Hummer Standard Benchmarks

此项目是一个用于测试各家跨端开发框架 App 各项 benchmark 数据指标的一个示例工程集合,包括了基于五种不同的跨端开发框架开发的示例 APP 工程项目(NativeHummerTenonReactNativeFlutter),每个项目都包含了 AndroidiOS 两端,并分别对以下两大方面做了对比基准测试:

一、包大小对比测试

我们分别对基于五种不同的跨端开发框架开发的示例 APP 工程项目(NativeHummerTenonReactNativeFlutter),在单架构模式下(Android: armeabi-v7aiOS: arm64),编译生成的 Release 包做了包大小的对比测试,以下是具体测试版本和测试结果。

测试版本

测试代码

/package_size

测试结果

平台NativeHummerReactNativeWeexFlutter
Android2.5M4.2M8.5M6.9M5.2M
iOS0.097M0.697M1.2M0.997M5.9M

二、各项性能指标基准测试

我们分别对基于五种不同的跨端开发框架开发的示例 APP 工程项目(NativeHummerTenonReactNativeFlutter),针对四种不同的测试用例(见下面用例介绍),对四组不同维度的性能指标(首屏渲染时间CPU内存和帧率),分别做了各自的 benchmark 性能测试,并且保存了相关测试数据。

用例介绍

测试机型

Android

iOS

测试版本

用例代码

/performance

用例页面

下面是以 Native 用例为例做的页面截图,其他 App 开发框架的用例运行页面效果均与 Native 用例相同。

首页用例1用例2用例3用例4
首页用例1用例2用例3用例4

测试结果

无论是 Android 端还是 iOS 端,Hummer 和 Tenon 的整体表现,基本都很接近原生性能。

Android

用例1 (Scroller)NativeHummerTenonReactNativeWeexFlutter
页面渲染时间(首次, ms)741183526171664<font color="#f00000"><b>2834</b></font><font color="#00a000"><b>862</b></font>
页面渲染时间(非首次, ms)590156021821508<font color="#f00000"><b>2579</b></font><font color="#00a000"><b>568</b></font>
CPU(%)7.5310.7210.6911.710.119.94
内存(M)114.89<font color="#00a000"><b>133.45</b></font>137.94167.8178.5<font color="#f00000"><b>210.17</b></font>
帧率(fps)5850514749<font color="#f00000"><b>31</b></font>
用例2 (List)NativeHummerTenonReactNativeWeexFlutter
页面渲染时间(首次, ms)334<font color="#00a000"><b>387</b></font>559545<font color="#f00000"><b>3477</b></font>535
页面渲染时间(非首次, ms)170<font color="#00a000"><b>215</b></font>335368<font color="#f00000"><b>3238</b></font><font color="#00a000"><b>215</b></font>
CPU(%)4.07<font color="#00a000"><b>4.85</b></font>6.85<font color="#f00000"><b>14.43</b></font>5.0810.44
内存(M)58.14<font color="#00a000"><b>64.62</b></font>70.48173.89<font color="#f00000"><b>224.08</b></font>152.38
帧率(fps)606060586059
用例3 (动画)NativeHummerTenonReactNativeWeexFlutter
页面渲染时间(首次, ms)3456411044778<font color="#f00000"><b>1881</b></font><font color="#00a000"><b>538</b></font>
页面渲染时间(非首次, ms)195385730636<font color="#f00000"><b>1394</b></font><font color="#00a000"><b>224</b></font>
CPU(%)14.27<font color="#00a000"><b>15.48</b></font>15.3<font color="#f00000"><b>33.31</b></font>17.2218.58
内存(M)86.9<font color="#00a000"><b>88.97</b></font>102.53118.75102.56<font color="#f00000"><b>172.28</b></font>
帧率(fps)303030312930
用例4 (拖拽)NativeHummerTenonReactNativeWeexFlutter
页面渲染时间(首次, ms)253<font color="#00a000"><b>310</b></font>342425396<font color="#f00000"><b>514</b></font>
页面渲染时间(非首次, ms)168<font color="#00a000"><b>175</b></font>183<font color="#f00000"><b>287</b></font>185213
CPU(%)3.035.1967.515.966.94
内存(M)55.55<font color="#00a000"><b>63.16</b></font>66.5102.1766.57<font color="#f00000"><b>142.21</b></font>
帧率(fps)606059606060

iOS

用例1 (Scroller)NativeHummerTenonReactNativeWeexFlutter
页面渲染时间(ms)172719702249<font color="#f00000"><b>2358</b></font>1694<font color="#00a000"><b>806</b></font>
CPU(%)1.73225.453.18<font color="#f00000"><b>8.18</b></font>
内存(M)116149156.27<font color="#f00000"><b>177.27</b></font>144<font color="#00a000"><b>125.18</b></font>
卡顿率(ms/s)1.6671.6671.6681.6781.668<font color="#00a000"><b>0</b></font>
用例2 (List)NativeHummerTenonReactNativeWeexFlutter
页面渲染时间(ms)469<font color="#00a000"><b>545</b></font>684975<font color="#f00000"><b>4141</b></font>608
CPU(%)3.36<font color="#00a000"><b>5.64</b></font>5.82<font color="#f00000"><b>18.45</b></font>9.918.27
内存(M)9.36<font color="#00a000"><b>21.18</b></font>23.5588.3691.5591.82
卡顿率(ms/s)0<font color="#00a000"><b>0</b></font>4.16<font color="#f00000"><b>7.59</b></font>3.4192.902
用例3 (动画)NativeHummerTenonReactNativeWeexFlutter
页面渲染时间(ms)77390511311353<font color="#f00000"><b>1535</b></font><font color="#00a000"><b>655</b></font>
CPU(%)1.5521.91<font color="#f00000"><b>30.55</b></font>6.738.45
内存(M)6<font color="#00a000"><b>13</b></font>17.272656.73<font color="#f00000"><b>81.73</b></font>
卡顿率(ms/s)000000
用例4 (拖拽)NativeHummerTenonReactNativeWeexFlutter
页面渲染时间(ms)539563578<font color="#f00000"><b>922</b></font>545708
CPU(%)25.556.187.557.185
内存(M)510121416<font color="#f00000"><b>54</b></font>
卡顿率(ms/s)000000