# measure-perf

> Measure the execution time of a script in JS

Latest version **0.1.1** (published 2017-10-20) · MIT license · 0 weekly downloads

## Install

```sh
npm install measure-perf
pnpm add measure-perf
yarn add measure-perf
bun add measure-perf
```

## Health

**Score 30/100 (F)** — status: abandoned.

Positive: has types; esm support; no vulnerabilities; high quality score.

Warnings: low downloads; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.1.1 |
| Published | 2017-10-20 |
| First published | 2017-10-17 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 0 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 1 |
| Author | Matej Lauko |
| Maintainers | matejlauko |
| Keywords | measure, performance, perf |

## Links

- npm: https://www.npmjs.com/package/measure-perf
- Repository: https://github.com/matejlauko/measure-perf
- Issues: https://github.com/matejlauko/measure-perf/issues
- npm.io page: https://npm.io/package/measure-perf

## Alternatives

- [mobx-react](https://npm.io/package/mobx-react.md) — 2.8M weekly downloads
- [rc-tree](https://npm.io/package/rc-tree.md) — 2.6M weekly downloads
- [@react-oauth/google](https://npm.io/package/@react-oauth/google.md) — 1.3M weekly downloads
- [@wagmi/connectors](https://npm.io/package/@wagmi/connectors.md) — 877.0K weekly downloads
- [vee-validate](https://npm.io/package/vee-validate.md) — 836.4K weekly downloads

## Recent versions

- 0.1.1 (latest) — 2017-10-20
- 0.1.0 — 2017-10-17

## README

Measure Perf
==========

<br/>

<p align="center" style="font-size: 1.2rem;">Measure Perf is a small and simple library to measure execution of JavaScript code in browser</p>

<hr />


## Installation

This module is distributed via [npm][npm] which is bundled with [node][node] and
should be installed as one of your project's `dependencies`:

with napm:
```
npm install --save measure-perf
```

or with yarn
```
yarn add measure-perf
```


## Usage

Module exports **4 functions**:

### start

> `function(name: string, log?: () => void): () => void`

Starts the measurement of **[name]**

First argument is a measurement name - should be unique for each measurement, second is an optional log function. If log function is supplied, it gets run along with starting the measurement.

It returns a finishing function: `function(): void`. You should use this end function instead of an imported one, if your code is asynchronous, to properly pair the measurements.
If you use a standalone `end()` function, it will end the **last** started measurement with the given name

### end

> `function(name: string, id?: number, log?: () => void): void`

Ends the measurement of **[name]**

First argument is a measurement name - the one you want to finish. Second argument is an id of the started measurmenet. If you are always ending the most last measurement, there's no need to supply the id. If not, there's no good way of getting the id right now. You should use the returned function from `start()`.

### exportMeasurementsOf

> `function(name: string)`

Returns all the measurements of **[name]** with computed statistic

#### Measurement Statistics:

```
{
  values:    Measurement[]         // measurements with added statistics
  mean:     number                // average of value durations
  min:      number                // minimal duration of values
  max:      number                // maximal duration of values
  pending:  number                // number of started, but not ended measurements
}
```

#### Measurement:

```
{
  start:              number      // starting time
  end:                number      // end time
  duration:           number      // difference between end and start times
  standardDeviation:  number      // standard deviation of duration
  fromPrev:           number      // difference to previous duration (positive means longer; negative means shorter)
}
```


### exportMeasurements

All the measurements grouped by **name**

---
_Source: https://npm.io/package/measure-perf · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
