This repo aims to provide different scenarios to benchmark performance difference between the new RN architecture and the old one.
- In one terminal, run
npx appium
- In another run
NEW_ARCH=false npx ts-node performance/manyviews.ts
- Then run
NEW_ARCH=true npx ts-node performance/manyviews.ts
- Compare results with
npx @perf-profiler/web-reporter results_*
More details on https://github.com/bamlab/android-performance-profiler
adb install apks/fabric-many-texts.apk
adb install apks/nofabric-many-texts.apk
- In one terminal, run
npx appium
- In another run
NEW_ARCH=false npx ts-node performance/manyviews.ts
- Then run
NEW_ARCH=true npx ts-node performance/manyviews.ts
- Compare results with
npx @perf-profiler/web-reporter results_*
More details on https://github.com/bamlab/android-performance-profiler
adb install apks/fabric-100-tweets.apk
adb install apks/nofabric-100-tweets.apk
- In one terminal, run
npx appium
- In another run
NEW_ARCH=false npx ts-node performance/tweets.ts
- Then run
NEW_ARCH=true npx ts-node performance/tweets.ts
- Compare results with
npx @perf-profiler/web-reporter results_*
More details on https://github.com/bamlab/android-performance-profiler
- In one terminal, run
npx appium
- In another run
NEW_ARCH=false npx ts-node performance/svg.ts
- Then run
NEW_ARCH=true npx ts-node performance/svg.ts
- Compare results with
npx @perf-profiler/web-reporter results_*
More details on https://github.com/bamlab/android-performance-profiler
- Code
- Results low end Android (Samsung J3 2017)
- Results low end Android (Moto X4)
- Results high end Android (Samsung S10)
adb install apks/fabric-flatlist.apk
adb install apks/nofabric-flatlist.apk
- Code
- Results low end Android
- Results high end Android (Pixel 6 Pro)
adb install apks/navigation-fabric.apk
adb install apks/navigation-nofabric.apk
- In one terminal, run
npx appium
- In another run
NEW_ARCH=false npx ts-node performance/navigation.ts
- Then run
NEW_ARCH=true npx ts-node performance/navigation.ts
- Compare results with
npx @perf-profiler/web-reporter results_*
More details on https://github.com/bamlab/android-performance-profiler
- Change scenario import in
FabricEnabled/index.js
- At the moment, if using
navigation
scenario, you also need togit checkout navigation
- Copy code to
FabricDisabled
# Copy code
cp -R FabricEnabled/index.js FabricDisabled
cp -R FabricEnabled/scenarios FabricDisabled
- Make release builds
# Run builds
cd FabricEnabled/android && ./gradlew assembleRelease
cd FabricDisabled/android && ./gradlew assembleRelease