Socket
Book a DemoInstallSign in
Socket

elapsing-time

Package Overview
Dependencies
Maintainers
1
Versions
24
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

elapsing-time

Measures the runtime of code.

latest
Source
npmnpm
Version
3.2.0
Version published
Maintainers
1
Created
Source

All dependencies Reported vulnerabilities Commits NPM-version Total downloads Developed by
Publish size Install size Minified size Minified + gzipped size

elapsing-time@3.2.0

Helps you to measure the runtime of your code. Package is available both for browser and Node.js. Time counts with help of performance.now function.

Installation

elapsing-time is available via NPM:

$ npm i elapsing-time@3.2.0

Usage

import ElapsingTime from 'elapsing-time';

const timer = new ElapsingTime();
const wait = (ms: number) => new Promise<void>(res => setTimeout(res, ms));

(async () => {
  for(let i = 0; i < 10; i++) {
    timer.start();
    await wait(200);
    timer.stop();
  }

  console.log(timer.ms);      // 2002.329
  console.log(timer.s);       // 2.002        // As seconds
  console.log(timer.us);      // 2001809.967  // As microseconds
  console.log(timer.avg.ms);  // 200.233      // Average value
})();

Timer.reset

import ElapsingTime from 'elapsing-time';

const timer = new ElapsingTime();
const wait = (ms: number) => new Promise<void>(res => setTimeout(res, ms));

(async () => {
  // Total value
  timer.start();
  await wait(100);
  timer.stop();
  console.log(timer.ms);  // 102.937

  timer.start();
  await wait(200);
  timer.stop();
  console.log(timer.ms);  // 303.213

  timer.start();
  await wait(300);
  timer.stop();
  console.log(timer.ms);  // 603.607

  // Now with reset
  timer.reset();
  timer.start();
  await wait(100);
  timer.stop();
  console.log(timer.ms);  // 100.715

  timer.reset();
  timer.start();
  await wait(200);
  timer.stop();
  console.log(timer.ms);  // 200.74

  timer.reset();
  timer.start();
  await wait(300);
  timer.stop();
  console.log(timer.ms);  // 300.782
})();

Timer.start with autoreset

import ElapsingTime from 'elapsing-time';

const timer = new ElapsingTime();
const wait = (ms: number) => new Promise<void>(res => setTimeout(res, ms));

(async () => {
  timer.start();
  await wait(100);
  timer.stop(true);   // The next timer.start will invoke timer.reset under the hood
  console.log(timer.ms);  // 103.025

  timer.start();
  await wait(200);
  timer.stop(true);
  console.log(timer.ms);  // 200.088

  timer.start();
  await wait(300);
  timer.stop();
  console.log(timer.ms);  // 300.327
})();

Built-in print functions

import ElapsingTime from 'elapsing-time';

const timer = new ElapsingTime();
const wait = (ms: number) => new Promise<void>(res => setTimeout(res, ms));

(async () => {
  timer.start();
  await wait(100);

  timer.msPrint();  // Time: 102.07 ms
  await wait(10);
  timer.sPrint();  // Time: 0.115 s
  // There is no timer.stop so it's still counting
  await wait(10);
  timer.usPrint();  // Time: 124822.4 us
  await wait(10);
  timer.msPrint('Custom label');  // Custom label: 134.661 ms
})();

The same way "avg" print functions are also present in timer.avg:

import ElapsingTime from 'elapsing-time';

const timer = new ElapsingTime();
const wait = (ms: number) => new Promise<void>(res => setTimeout(res, ms));

(async () => {
  timer.start();
  await wait(100);
  timer.stop();
  timer.avg.sPrint();  // Time: 0.102 s

  timer.start();
  await wait(900);
  timer.stop();
  timer.avg.usPrint();  // Time: 501137.335 us

  timer.start();
  await wait(200);
  timer.avg.msPrint('Custom label');  // Custom label: 400.882 ms
  timer.stop();
})();

Testing

Manually tested by the developer during development. Automated tests are not provided.

Your improve suggestions and bug reports are welcome any time.

Keywords

elapsing-time

FAQs

Package last updated on 11 Jul 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts