Skip to content

Repository files navigation

react-native-latency

react-native-latency benchmark screenshot

Run small latency experiments in React Native and visualize the result directly in your app. react-native-latency measures a callback over repeated runs and shows a density chart plus min, median, 95th percentile, max, and initial-run timings.

  • ⚡ Zero runtime dependencies
  • ⚛️ Works with React Native >=0.73.0

📦 Installation

npm install react-native-latency
bun add react-native-latency

🚀 Usage

import { Benchmark } from 'react-native-latency';

export function Example() {
  return (
    <Benchmark
      deviceLabel="Apple: iPhone 17 Pro"
      callback={async () => {
        await expensiveOperation();
      }}
    />
  );
}

The callback can also be synchronous:

<Benchmark
  callback={() => {
    expensiveOperation();
  }}
/>

For meaningful numbers, run benchmarks in a production build or in a non-development build. Development mode adds React Native and tooling overhead that can dominate short-running callbacks.

If you use Expo development builds, start Metro without development mode and with minification:

npx expo start --dev-client --no-dev --minify

On Android, these flags have to be set manually in the developer menu (shake device -> Settings).

🔧 Props

Prop Type Required Description
callback () => void | Promise<void> Yes Function to benchmark. Async callbacks are awaited and measured end to end.
deviceLabel string No Label shown below the benchmark. If omitted, a best-effort label is derived from React Native Platform constants.

⚠️ Notes

On iOS, React Native's built-in Platform constants do not expose marketing device names such as iPhone 17 Pro; pass deviceLabel if you want to show one.

🧩 Compatibility

{
  "react": ">=18.2.0",
  "react-native": ">=0.73.0"
}

🗺️ Roadmap

  • Allow for more benchmark examples to be added
  • Optional break between runs, e.g. to let requests finish
  • Make smoothing more stable (e.g. autoadjust bandwith parameter)

🤝 Contributing

📄 License

MIT


Made with create-react-native-library

About

React-native-latency lets you run experiments to measure the runtime of your react native code.

Resources

Code of conduct

Contributing

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages