react-native-benchmark

React Native benchmarking library inspired by benchmark.js


Keywords
benchmark, ios, android, performance, react-native, reactivelions, typescript
License
MIT
Install
npm install react-native-benchmark@0.0.3

Documentation

react-native-benchmark

GitHub license npm npm downloads total npm downloads GitHub watchers GitHub stars GitHub forks open bugs total open issues GitHub pull requests

Packagephobia Bundlephobia

React Native benchmarking library inspired by benchmark.js and written in TypeScript.

Screen Shot 2021-04-17 at 19 16 06

Warning: This library is work in progess. Use it at your own risk!

Installation

npm i -s benchmark-ts

Usage

// example/index.ts
import { EventType, Suite } from "../src";

const suite = new Suite;

suite.add('RegExp#test', () => {
  /o/.test('Hello World!');
})
.add('String#indexOf', () => {
  'Hello World!'.indexOf('o') > -1;
})
.add('String#match', () => {
  !!'Hello World!'.match(/o/);
})
.on(EventType.CYCLE, (event) => {
  // console.log(event.type, event.target.times);
})
.on(EventType.COMPLETE, (event) => {
  // const s:Suite = event.target as Suite
  console.log(suite.toString())
})
.run({async: true});

Example output

Output for suite.toString() method.

RegExp#test - 2211577 ops/sec ± 2.10%
String#indexOf - 2335987 ops/sec ± 1.96%
String#match - 2046868 ops/sec ± 0.88%

Output for suite.toJSON() method.

{
  'RegExp#test': {
    moe: 46334.779732633404,
    mean: 2211577.4,
    rme: 2.0951009778194245,
    deviation: 37322.66469908063,
    variance: 1392981300.2399998,
    sem: 16691.203073715205,
    sample: [ 2138299, 2234914, 2228720, 2217517, 2238437 ]
  },
  'String#indexOf': {
    moe: 45836.23559201627,
    mean: 2335986.6,
    rme: 1.962178875170614,
    deviation: 36921.08739785436,
    variance: 1363166694.6399999,
    sem: 16511.612244962635,
    sample: [ 2265366, 2353147, 2372154, 2338449, 2350817 ]
  },
  'String#match': {
    moe: 18031.048282470998,
    mean: 2046867.8,
    rme: 0.880909274280977,
    deviation: 14524.009245384002,
    variance: 210946844.56,
    sem: 6495.33439570281,
    sample: [ 2048837, 2035629, 2025664, 2064410, 2059799 ]
  }
}

Contributing

See the contributing guide to learn how to contribute to the repository and the development workflow.

Sponsorship

Thank you to our sponsors:

Reactive Lions™

License

MIT

Copyright (c) 2021 Eugene Hauptmann