arcticchrono

A chronograph to benchmark execution speed of any arbitrary operation in NodeJS.

Usage no npm install needed!

<script type="module">
  import arcticchrono from 'https://cdn.skypack.dev/arcticchrono';
</script>

README

npm Twitter Follow GitHub followers

ArcticChrono | Version 1.0.4

A simplistic approach to benchmarking javascript operations in NodeJS. The ArcticChrono module uses process.hrtime() method to get an accurate and high precision time of a given set of operations. If you're looking to time how fast your application is, or how long it takes to perform a certain operation(s), then you can use this module to do it.

Installation

npm install arcticchrono --save will install ArcticChrono to your project.

Add it to your project by requiring it.

Javascript Implementation

const chrono = require('arcticchrono').ArcticChrono;

let stopwatch = chrono.start(3);

setTimeout(() => {

    let elapsed = stopwatch.stop();
    console.log(elapsed); // 3002.208 (Output may vary.)

}, 3000);

Typescript Implementation

import { ArcticChrono } from 'arcticchrono';

let stopwatch = ArcticChrono.start(3);

setTimeout(() => {

    let elapsed = stopwatch.stop();
    console.log(elapsed); // 3002.208 (Output may vary.)

}, 3000);

API

The ArcticChrono API is clean and simple, containing two main methods to get you started.

static ArcticChrono.start(precision?: number) : ArcticChrono Creates an instance of ArcticChrono and stores the starting point of the chronograph. Optionally a precision can be given to determine how many decimal places the chronograph will read when the stop method has been executed.
public ArcticChrono.stop() : number Stops the stopwatch and returns back the time in milliseconds of how long it took between the start of the stopwatch, and the of the stopwatch.
public ArcticChrono.setPrecision(precision: number) : void Sets the precision to determine how many decimal places the chronograph will read when the stop method has been executed.
public ArcticChrono.getTime() : number Returns the time given when the method stop() was executed. If stop was not executed, getTime() is guaranteed to return -1.

To Dos

Although simplistic, there are still a few features that I'd like to add to ArcticChronograph.

[ ] Create a conversion from milliseconds to seconds to minutes. [ ] Create a system that keeps tracks of laps. [ ] Rewrite the documentation to reflect the TypeScript intellisense.

Footnote Malarkey

If you like this module, then feel free to drop me a tweet and tell me I did a good job. If you have any questions related to this repo/module then make sure to make a discussion on the github repo for me to look at.

Why did you put arctic in the title of the module?

Because Chronograph is taken and I figured appending "arctic" to it would make it sound cool.