Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

License

NotificationsYou must be signed in to change notification settings

OrangeLab/hummer-standard-benchmarks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

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

测试版本

  • Hummer(Android): 'com.didi.hummer:hummer:0.3.18'
  • Hummer(iOS): 0.2.3
  • ReactNative: 'com.facebook.react:react-native:0.63.4'
  • Weex: 'com.taobao.android:weex_sdk:0.26.0'
  • Flutter: 1.22.6

测试代码

/package_size

测试结果

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

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

用例介绍

  • 用例1: 列表基准测试(Scroller)。列表中500行视图,每一行视图中包含5个子视图,测试快速滚动整个列表时的性能。
  • 用例2: 列表视图基准测试(List)。列表中1000行视图,每一行视图中包含5个子视图,测试快速滚动整个列表时的性能。
  • 用例3: 动画基准测试。500个视图,每个视图分别做5种动画中的其中1种,测试所有动画同时执行时的性能。
  • 用例4: 拖拽基准测试。测试在屏幕范围内拖拽一个视图时的性能。

测试机型

Android

  • 系统: Android 10
  • 型号: vivo X27 Pro - V1836A
  • vivo ROM: Funtouch OS_10 PD1836_A_6.20.1

iOS

  • 系统: iOS 14.4
  • 型号: iPhoneX

测试版本

  • Hummer(Android): 'com.didi.hummer:hummer:0.3.18'
  • Hummer(iOS): 0.2.3
  • Tenon: 1.2.1
  • Weex: 'com.taobao.android:weex_sdk:0.26.0'
  • ReactNative: 'com.facebook.react:react-native:0.63.4'
  • Flutter: 1.22.6

用例代码

/performance

用例页面

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

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

测试结果

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

Android

用例1 (Scroller)NativeHummerTenonReactNativeWeexFlutter
页面渲染时间(首次, ms)7411835261716642834862
页面渲染时间(非首次, ms)5901560218215082579568
CPU(%)7.5310.7210.6911.710.119.94
内存(M)114.89133.45137.94167.8178.5210.17
帧率(fps)585051474931
用例2 (List)NativeHummerTenonReactNativeWeexFlutter
页面渲染时间(首次, ms)3343875595453477535
页面渲染时间(非首次, ms)1702153353683238215
CPU(%)4.074.856.8514.435.0810.44
内存(M)58.1464.6270.48173.89224.08152.38
帧率(fps)606060586059
用例3 (动画)NativeHummerTenonReactNativeWeexFlutter
页面渲染时间(首次, ms)34564110447781881538
页面渲染时间(非首次, ms)1953857306361394224
CPU(%)14.2715.4815.333.3117.2218.58
内存(M)86.988.97102.53118.75102.56172.28
帧率(fps)303030312930
用例4 (拖拽)NativeHummerTenonReactNativeWeexFlutter
页面渲染时间(首次, ms)253310342425396514
页面渲染时间(非首次, ms)168175183287185213
CPU(%)3.035.1967.515.966.94
内存(M)55.5563.1666.5102.1766.57142.21
帧率(fps)606059606060

iOS

用例1 (Scroller)NativeHummerTenonReactNativeWeexFlutter
页面渲染时间(ms)17271970224923581694806
CPU(%)1.73225.453.188.18
内存(M)116149156.27177.27144125.18
卡顿率(ms/s)1.6671.6671.6681.6781.6680
用例2 (List)NativeHummerTenonReactNativeWeexFlutter
页面渲染时间(ms)4695456849754141608
CPU(%)3.365.645.8218.459.918.27
内存(M)9.3621.1823.5588.3691.5591.82
卡顿率(ms/s)004.167.593.4192.902
用例3 (动画)NativeHummerTenonReactNativeWeexFlutter
页面渲染时间(ms)773905113113531535655
CPU(%)1.5521.9130.556.738.45
内存(M)61317.272656.7381.73
卡顿率(ms/s)000000
用例4 (拖拽)NativeHummerTenonReactNativeWeexFlutter
页面渲染时间(ms)539563578922545708
CPU(%)25.556.187.557.185
内存(M)51012141654
卡顿率(ms/s)000000

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp