Skip to content

Almouro/fabric-test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RN New Arch Performance Benchmarks

This repo aims to provide different scenarios to benchmark performance difference between the new RN architecture and the old one.

Scenario 1: Just display 10k views

Run performance test

  1. In one terminal, run npx appium
  2. In another run NEW_ARCH=false npx ts-node performance/manyviews.ts
  3. Then run NEW_ARCH=true npx ts-node performance/manyviews.ts
  4. Compare results with npx @perf-profiler/web-reporter results_*

More details on https://github.com/bamlab/android-performance-profiler

Scenario 2: Just display 1k texts

Install APKs

adb install apks/fabric-many-texts.apk
adb install apks/nofabric-many-texts.apk

Run performance test

  1. In one terminal, run npx appium
  2. In another run NEW_ARCH=false npx ts-node performance/manyviews.ts
  3. Then run NEW_ARCH=true npx ts-node performance/manyviews.ts
  4. Compare results with npx @perf-profiler/web-reporter results_*

More details on https://github.com/bamlab/android-performance-profiler

Scenario 3: Just display 100 tweets

Install APKs

adb install apks/fabric-100-tweets.apk
adb install apks/nofabric-100-tweets.apk

Run performance test

  1. In one terminal, run npx appium
  2. In another run NEW_ARCH=false npx ts-node performance/tweets.ts
  3. Then run NEW_ARCH=true npx ts-node performance/tweets.ts
  4. Compare results with npx @perf-profiler/web-reporter results_*

More details on https://github.com/bamlab/android-performance-profiler

Scenario 4: Just display 2k SVGs

Run performance test

  1. In one terminal, run npx appium
  2. In another run NEW_ARCH=false npx ts-node performance/svg.ts
  3. Then run NEW_ARCH=true npx ts-node performance/svg.ts
  4. Compare results with npx @perf-profiler/web-reporter results_*

More details on https://github.com/bamlab/android-performance-profiler

Scenario 5: Pokedex Flatlist

Install APKs

adb install apks/fabric-flatlist.apk
adb install apks/nofabric-flatlist.apk

Scenario 6: Navigation

Install APKs

adb install apks/navigation-fabric.apk
adb install apks/navigation-nofabric.apk

Run performance test

  1. In one terminal, run npx appium
  2. In another run NEW_ARCH=false npx ts-node performance/navigation.ts
  3. Then run NEW_ARCH=true npx ts-node performance/navigation.ts
  4. Compare results with npx @perf-profiler/web-reporter results_*

More details on https://github.com/bamlab/android-performance-profiler

Build APKs

  1. Change scenario import in FabricEnabled/index.js
  • At the moment, if using navigation scenario, you also need to git checkout navigation
  1. Copy code to FabricDisabled
# Copy code
cp -R FabricEnabled/index.js FabricDisabled
cp -R FabricEnabled/scenarios FabricDisabled
  1. Make release builds
# Run builds
cd FabricEnabled/android && ./gradlew assembleRelease
cd FabricDisabled/android && ./gradlew assembleRelease

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published