react-native-benchmark
TypeScript icon, indicating that this package has built-in type declarations

0.0.5 • Public • Published

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

Dependencies (1)

Dev Dependencies (9)

Package Sidebar

Install

npm i react-native-benchmark

Weekly Downloads

25

Version

0.0.5

License

MIT

Unpacked Size

39.5 kB

Total Files

36

Last publish

Collaborators

  • eugenehp