Skip to content
Branch: master
Find file History
Permalink
Type Name Latest commit message Commit time
..
Failed to load latest commit information.
android 2.19.2 works Oct 9, 2018
scripts 2.22.2 update (#65) Nov 6, 2018
suites
.gitignore trying to get the profiler working May 17, 2018
README.md update measure results Nov 7, 2018
app.js don't crash on error of dateTimeFormat May 30, 2018
index.android.js measure app Mar 5, 2018
package.json trying out lots of things Oct 9, 2018
results.json update initial measure results Nov 6, 2018

README.md

React Native Android JS Performance Measurements

A simple react native app with some performance benchmarks.

Past measurements are saved into results

The table blow is generated by calling npm run generateReadmeTable

How to run

  1. Compile the jsc locally (from root project, so that the compiled result will be at /dist)
  2. Connect a physical device
  3. npm i from within /measure
  4. npm run start. This will compile a release version of the profiler app with the jsc from /dist and start measurements automatically.
  5. After the tests finish, the timings will be printed. The results.json needs to be updated manually, then the table below can be generated.
  6. You can run the tests manually: inside the app select one of the tests for it to execute. To run a different test close the app and remove it from recent apps to release all memory.

Measurements

  • All timings in milliseconds (lower is better)
  • Size in MB (arm32/arm64)
  • Render is measured with 1000 elements, flat or deep. The timing is taken after a full render roundtrip (after onLayout)
  • Synthetic tests were modified to be able to run on RN environment, based on the following:
  • All measurements run on (a very clean) Pixel XL, release mode

Results

Npm Version Publish Date Config WebkitGTK Revision WebkitGTK Date TTI SunSpider Jetstream Hashmap Octane2 SixSpeed Render Flat Render Deep Size
- - Stock RN44 (x32 only, non-i18n) 174650 2014-10-13 579 519 4087 2545 1386 844 1162 2.7/-
216113.0.3 2017-11-17 webkitGTK:2.17.1
androidICU:7.1.2_r11
i18n:false
216113 2017-05-03 557 448 3151 1938 426 893 1084 5.9/8.8
216113.0.3 2017-11-17 webkitGTK:2.17.1
androidICU:7.1.2_r11
i18n:true
216113 2017-05-03 561 459 3164 1970 431 878 1208 12/15
- - webkitGTK:2.17.1
androidICU:7.1.2_r11
i18n:false
env:nobabel
216113 2017-05-03 560 480 3300 1850 410 900 1350 5.9/8.8
- - webkitGTK:2.17.1
androidICU:7.1.2_r11
i18n:false
env:nojit
216113 2017-05-03 563 1045 9164 3856 574 900 1165 5.9/8.8
224109.0.0 2018-06-04 webkitGTK:2.18.2
androidICU:8.0.0_r34
i18n:false
224109 2017-10-27 575 461 3148 1884 423 899 1182 6.1/9.3
224109.0.0 2018-06-04 webkitGTK:2.18.2
androidICU:8.0.0_r34
i18n:true
224109 2017-10-27 598 462 3115 1885 415 911 1094 13/16
- - webkitGTK:2.18.2
androidICU:8.0.0_r34
i18n:false
env:x64 custom react-native@0.51
224109 2017-10-27 517 423 2739 1486 343 1154 1304 5.5/8.3
224109.1.0 2018-07-29 webkitGTK:2.18.2
chromiumICUCommit:b34251f
i18n:false
224109 2017-10-27 522 461 3045 1946 428 859 1041 5.1/7.7
224109.1.0 2018-07-29 webkitGTK:2.18.2
chromiumICUCommit:b34251f
i18n:true
224109 2017-10-27 549 451 3094 1935 430 833 1123 14/18
225067.0.0 2018-10-09 webkitGTK:2.19.2
chromiumICUCommit:b34251f
i18n:false
225067 2017-11-21 574 446 3288 1902 404 819 1094 4.8/7.2
225067.0.0 2018-10-09 webkitGTK:2.19.2
chromiumICUCommit:b34251f
i18n:true
225067 2017-11-21 587 445 3294 1884 400 821 982 12.7/16
236355.0.0 2018-11-06 webkitGTK:2.22.2
chromiumICUCommit:b34251f
i18n:false
236355 2018-09-21 436 423 442 1145 319 651 624 7.5/10.3
236355.0.0 2018-11-06 webkitGTK:2.22.2
chromiumICUCommit:b34251f
i18n:true
236355 2018-09-21 451 463 451 1166 313 617 656 14.9/18.3
You can’t perform that action at this time.