Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ematipico/js-performance
A collection of utilities to measure the performance of your application
https://github.com/ematipico/js-performance
javascript library performance utility
Last synced: 8 days ago
JSON representation
A collection of utilities to measure the performance of your application
- Host: GitHub
- URL: https://github.com/ematipico/js-performance
- Owner: ematipico
- License: mit
- Created: 2017-06-06T12:58:35.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-01-06T12:24:09.000Z (almost 7 years ago)
- Last Synced: 2024-10-15T01:21:24.643Z (24 days ago)
- Topics: javascript, library, performance, utility
- Language: JavaScript
- Size: 153 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# JavaScript Performance
JavaScript performance is a collection of utilities that can help you to give information about the performance of your application.
Bear in mind that this **is not a jsperf** sibling, but it's more focused on something else.
The library is simply a easy way to take advantage of the browser API `performance`
## Why JavaScript Performance?
The browser API `performance` is useful but it takes a bit to understand the APIs and make an effective use inside your application.
The aim of the library is just to give few functions with almost zero learning curve.
## How to install
Just run the following command
```bash
npm install --save @ematipico/js-performance
```## How to import it
Import the library in the way of prefer most, from your browser
```html
JSPerf.startRecording()
// etc.
```
Or straight inside your modules if you are using bundler such as webpack or rollup```javascript
import { startRecording } from 'js-perf'startRecording()
// etc.```
**The library doesn't support Node.js environments for obvious reasons, as it doesn't have a `performance` API.**
## How to use it
The following example will use ES6 modules and it will be really simple
```JavaScript
import { startRecording, startMark, stopMark, stopRecording, allMeasures } from 'js-perf'startRecording()
startMark('firstLoop')
for (let i = 0; i < 100; i++) {
// operation
}
stopMark('firstLoop')startMark('secondLoop')
for (let i = 0; i < 100; i++) {
// operation
}
stopMark('secondLoop')
stopRecording()
allMeasures() // this will print inside your console the results of your marks```
It's easy!
***Note: at the moment the library does not support having two marks with the same name***
That means that executing the following code won't work
```JavaScript
import { startRecording, startMark, stopMark, stopRecording } from 'js-perf'startRecording()
startMark('operation')
startMark('operation')// expensive operation
stopMark('operation')
stopMark('operation')
stopRecording()```
The result will be just ONE mark called 'operation'
## APIs
A list of available APIs is [here](./API.md)