Skip to content

ampjs/Amperf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Amperf

Amperf

Amperf provides the following information;

  • Total length of time for tests.
  • Average test time.
  • Average test memory usage.
  • Fastest and slowest iteration times.

Install

It's recommended that you install Amperf globally through NPM.

npm i -g @ampersarnie/amperf

You may need to add an alias to ./bin/amperf in your bash profile. NPM will install global modules to /usr/local/lib/node or /usr/local/lib/node_modules. The full path will be similar to; /usr/local/lib/node_modules/@ampersarnie/amperf/bin/amperf.

Tests

Amperf.describe('Suite of tests being run', function(AmperfTest) {
    AmperfTest('Test spec', function() {
        // Test code here.
    });
});

Benchmarking

Amperf provides some benchmarking capabilities allowing you to stipulate maximum speeds and memory usage to have.

Amperf.describe('Suite of tests being run', function(AmperfTest) {
    AmperfTest('Test spec', function() {
        // Test code here.
    }).bench({
        time_total: 1, // seconds
        time_average: 5.0 // milliseconds
    });
});

CLI Options

Amperf has a number of options for your test output from the command line.

--file / --f

Default: ./perf/test.js

amperf --file perf/my-test.js

Also allows for loading all files in a given directory.

amperf --file perf/

--template / --t

Default: ./DefaultTemplate.js

amperf --file perf/my-test.js --template MyTemplate.js

--iterations / --i

Default: 100

amperf --file perf/my-test.js --iterations 256

--show

Default: cycle_time,time_average,memory_average,time_fastest,time_slowest

Shows only the cycle and average times

amperf --file perf/my-test.js --show cycle_time,time_average

Templates

Amperf allows for custom output templates. A list of the required methods and their arguments can be found in the ./src/TemplateInterface.js file. You can see examples of the usage in both ./src/DefaultTemplate.js and ./examples/templates/src/ExampleTemplate.js.

The TemplateInterface does not need to be invoked within your template as these checks are handled by the AmperfTemplate class.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published