Skip to content

Kudo/react-native-cli-plugin-benchmark

Repository files navigation

npm version GitHub Actions CI

react-native-cli-plugin-benchmark

React Native CLI Plugin for Benchmark Regression

Installation

$ yarn add react-native-cli-plugin-benchmark

Supported Commands

react-native get-appsize-ios

Get the generated IPA size from run-ios output

$ react-native get-appsize-ios --configuration Release --sdk iphoneos info Found Xcode workspace "RNApp.xcworkspace" info Building (using "xcodebuild -workspace RNApp.xcworkspace -configuration Release -scheme RNApp -sdk iphoneos CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO") info Generated app size: {"/Users/kudo/Library/Developer/Xcode/DerivedData/RNApp-auhfmjezpdwqwhasqmpbigmosgfe/Build/Products/Release-iphoneos/RNApp.app":37632}

react-native get-appsize-android

Get the generated APK size from run-android output

$ react-native get-appsize-android --variant release info Running jetifier to migrate libraries to AndroidX. You can disable it using "--no-jetifier" flag. info Building the app... info Generated app size: {"/Users/kudo/RNApp/android/app/build/outputs/apk/release/app-release.apk":19603464}

react-native measure-ios

Measure from run-ios output Note that the command in fact to patch AppDelegate to log some information after 5 seconds from launch. The information are from RCTPerformanceLogger and task memory.

$ react-native measure-ios --configuration Release --no-packager info Found Xcode workspace "RNApp.xcworkspace" info Launching iPhone X (iOS 12.4) info Building (using "xcodebuild -workspace RNApp.xcworkspace -configuration Release -scheme RNApp -destination id=6FF18363-C213-4E59-9A83-3117EE7AE6FE") ▸ Compiling diy-fp.cc ▸ Compiling bignum.cc ▸ Compiling cached-powers.cc ▸ Compiling double-conversion.cc ... info Launching "org.reactjs.native.example.RNApp" success Successfully launched the app on the simulator info Measurement result: { "duration.RCTPLScriptDownload": "2", "duration.RCTPLScriptExecution": "181", "duration.RCTPLRAMBundleLoad": "0", "duration.RCTPLRAMStartupCodeSize": "0", "duration.RCTPLRAMStartupNativeRequires": "0", "duration.RCTPLRAMStartupNativeRequiresCount": "0", "duration.RCTPLRAMNativeRequires": "0", "duration.RCTPLRAMNativeRequiresCount": "0", "duration.RCTPLNativeModuleInit": "2", "duration.RCTPLNativeModuleMainThread": "56", "duration.RCTPLNativeModulePrepareConfig": "0", "duration.RCTPLNativeModuleMainThreadUsesCount": "4", "duration.RCTPLNativeModuleSetup": "0", "duration.RCTPLTurboModuleSetup": "0", "duration.RCTPLJSCWrapperOpenLibrary": "0", "duration.RCTPLBridgeStartup": "284", "duration.RCTPLTTI": "474", "duration.RCTPLBundleSize": "652466", "memory": "55541760" }

About

React Native CLI Plugin for Benchmark Regression

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published