Skip to content
This repository has been archived by the owner on Apr 11, 2024. It is now read-only.

Latest commit

 

History

History

doc

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

Methods

Properties

Methods

Benchmark(name, fn, [options={}])

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L356 "View in source") [Ⓣ][1]

The Benchmark constructor.

Note: The Benchmark constructor exposes a handful of lodash methods to make working with arrays, collections, and objects easier. The lodash methods are:
each/forEach, forOwn, has, indexOf, map, and reduce

Arguments

  1. name (string): A name to identify the benchmark.
  2. fn (Function|string): The test to benchmark.
  3. [options={}] (Object): Options object.

Example

// basic usage (the `new` operator is optional)
var bench = new Benchmark(fn);

// or using a name first
var bench = new Benchmark('foo', fn);

// or with options
var bench = new Benchmark('foo', fn, {

  // displayed by `Benchmark#toString` if `name` is not available
  'id': 'xyz',

  // called when the benchmark starts running
  'onStart': onStart,

  // called after each run cycle
  'onCycle': onCycle,

  // called when aborted
  'onAbort': onAbort,

  // called when a test errors
  'onError': onError,

  // called when reset
  'onReset': onReset,

  // called when the benchmark completes running
  'onComplete': onComplete,

  // compiled/called before the test loop
  'setup': setup,

  // compiled/called after the test loop
  'teardown': teardown
});

// or name and options
var bench = new Benchmark('foo', {

  // a flag to indicate the benchmark is deferred
  'defer': true,

  // benchmark test function
  'fn': function(deferred) {
    // call `Deferred#resolve` when the deferred test is finished
    deferred.resolve();
  }
});

// or options only
var bench = new Benchmark({

  // benchmark name
  'name': 'foo',

  // benchmark test as a string
  'fn': '[1,2,3,4].sort()'
});

// a test's `this` binding is set to the benchmark instance
var bench = new Benchmark('foo', function() {
  'My name is '.concat(this.name); // "My name is foo"
});

Benchmark.Deferred(clone)

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L399 "View in source") [Ⓣ][1]

The Deferred constructor.

Arguments

  1. clone (Object): The cloned benchmark instance.

Benchmark.Deferred.prototype.resolve()

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L716 "View in source") [Ⓣ][1]

Handles cycling/completing the deferred benchmark.


Benchmark.Event(type)

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L415 "View in source") [Ⓣ][1]

The Event constructor.

Arguments

  1. type (Object|string): The event type.

Benchmark.Suite(name, [options={}])

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L467 "View in source") [Ⓣ][1]

The Suite constructor.

Note: Each Suite instance has a handful of wrapped lodash methods to make working with Suites easier. The wrapped lodash methods are:
each/forEach, indexOf, map, and reduce

Arguments

  1. name (string): A name to identify the suite.
  2. [options={}] (Object): Options object.

Example

// basic usage (the `new` operator is optional)
var suite = new Benchmark.Suite;

// or using a name first
var suite = new Benchmark.Suite('foo');

// or with options
var suite = new Benchmark.Suite('foo', {

  // called when the suite starts running
  'onStart': onStart,

  // called between running benchmarks
  'onCycle': onCycle,

  // called when aborted
  'onAbort': onAbort,

  // called when a test errors
  'onError': onError,

  // called when reset
  'onReset': onReset,

  // called when the suite completes running
  'onComplete': onComplete
});

Benchmark.Suite.prototype.abort()

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L1008 "View in source") [Ⓣ][1]

Aborts all benchmarks in the suite.

Returns

(Object): The suite instance.


Benchmark.Suite.prototype.add(name, fn, [options={}])

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L1068 "View in source") [Ⓣ][1]

Adds a test to the benchmark suite.

Arguments

  1. name (string): A name to identify the benchmark.
  2. fn (Function|string): The test to benchmark.
  3. [options={}] (Object): Options object.

Returns

(Object): The suite instance.

Example

// basic usage
suite.add(fn);

// or using a name first
suite.add('foo', fn);

// or with options
suite.add('foo', fn, {
  'onCycle': onCycle,
  'onComplete': onComplete
});

// or name and options
suite.add('foo', {
  'fn': fn,
  'onCycle': onCycle,
  'onComplete': onComplete
});

// or options only
suite.add({
  'name': 'foo',
  'fn': fn,
  'onCycle': onCycle,
  'onComplete': onComplete
});

Benchmark.Suite.prototype.clone(options)

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L1087 "View in source") [Ⓣ][1]

Creates a new suite with cloned benchmarks.

Arguments

  1. options (Object): Options object to overwrite cloned options.

Returns

(Object): The new suite instance.


Benchmark.Suite.prototype.filter(callback)

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L1110 "View in source") [Ⓣ][1]

An Array#filter like method.

Arguments

  1. callback (Function|string): The function/alias called per iteration.

Returns

(Object): A new suite of benchmarks that passed callback filter.


Benchmark.Suite.prototype.reset()

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L1125 "View in source") [Ⓣ][1]

Resets all benchmarks in the suite.

Returns

(Object): The suite instance.


Benchmark.Suite.prototype.run([options={}])

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L1162 "View in source") [Ⓣ][1]

Runs the suite.

Arguments

  1. [options={}] (Object): Options object.

Returns

(Object): The suite instance.

Example

// basic usage
suite.run();

// or with options
suite.run({ 'async': true, 'queued': true });

Benchmark.filter(array, callback)

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L763 "View in source") [Ⓣ][1]

A generic Array#filter like method.

Arguments

  1. array (Array): The array to iterate over.
  2. callback (Function|string): The function/alias called per iteration.

Returns

(Array): A new array of values that passed callback filter.

Example

// get odd numbers
Benchmark.filter([1, 2, 3, 4, 5], function(n) {
  return n % 2;
}); // -> [1, 3, 5];

// get fastest benchmarks
Benchmark.filter(benches, 'fastest');

// get slowest benchmarks
Benchmark.filter(benches, 'slowest');

// get benchmarks that completed without erroring
Benchmark.filter(benches, 'successful');

Benchmark.formatNumber(number)

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L792 "View in source") [Ⓣ][1]

Converts a number to a more readable comma-separated string representation.

Arguments

  1. number (number): The number to convert.

Returns

(string): The more readable string representation.


Benchmark.invoke(benches, name, [args])

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L837 "View in source") [Ⓣ][1]

Invokes a method on all items in an array.

Arguments

  1. benches (Array): Array of benchmarks to iterate over.
  2. name (Object|string): The name of the method to invoke OR options object.
  3. [args] (...*): Arguments to invoke the method with.

Returns

(Array): A new array of values returned from each method invoked.

Example

// invoke `reset` on all benchmarks
Benchmark.invoke(benches, 'reset');

// invoke `emit` with arguments
Benchmark.invoke(benches, 'emit', 'complete', listener);

// invoke `run(true)`, treat benchmarks as a queue, and register invoke callbacks
Benchmark.invoke(benches, {

  // invoke the `run` method
  'name': 'run',

  // pass a single argument
  'args': true,

  // treat as queue, removing benchmarks from front of `benches` until empty
  'queued': true,

  // called before any benchmarks have been invoked.
  'onStart': onStart,

  // called between invoking benchmarks
  'onCycle': onCycle,

  // called after all benchmarks have been invoked.
  'onComplete': onComplete
});

Benchmark.join(object, [separator1=','], [separator2=': '])

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L987 "View in source") [Ⓣ][1]

Creates a string of joined array values or object key-value pairs.

Arguments

  1. object (Array|Object): The object to operate on.
  2. [separator1=','] (string): The separator used between key-value pairs.
  3. [separator2=': '] (string): The separator used between keys and values.

Returns

(string): The joined result.


Benchmark.runInContext([context=root])

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L125 "View in source") [Ⓣ][1]

Create a new Benchmark function using the given context object.

Arguments

  1. [context=root] (Object): The context object.

Returns

(Function): Returns a new Benchmark function.


Benchmark.prototype.abort()

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L1328 "View in source") [Ⓣ][1]

Aborts the benchmark without recording times.

Returns

(Object): The benchmark instance.


Benchmark.prototype.clone(options)

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L1367 "View in source") [Ⓣ][1]

Creates a new benchmark using the same test and options.

Arguments

  1. options (Object): Options object to overwrite cloned options.

Returns

(Object): The new benchmark instance.

Example

var bizarro = bench.clone({
  'name': 'doppelganger'
});

Benchmark.prototype.compare(other)

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L1391 "View in source") [Ⓣ][1]

Determines if a benchmark is faster than another.

Arguments

  1. other (Object): The benchmark to compare.

Returns

(number): Returns -1 if slower, 1 if faster, and 0 if indeterminate.


Benchmark.prototype.emit(type, [args])

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L1202 "View in source") [Ⓣ][1]

Executes all registered listeners of the specified event type.

Arguments

  1. type (Object|string): The event type or object.
  2. [args] (...*): Arguments to invoke the listener with.

Returns

(*): Returns the return value of the last listener executed.


Benchmark.prototype.listeners(type)

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L1232 "View in source") [Ⓣ][1]

Returns an array of event listeners for a given type that can be manipulated to add or remove listeners.

Arguments

  1. type (string): The event type.

Returns

(Array): The listeners array.


Benchmark.prototype.off([type], [listener])

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L1265 "View in source") [Ⓣ][1]

Unregisters a listener for the specified event type(s), or unregisters all listeners for the specified event type(s), or unregisters all listeners for all event types.

Arguments

  1. [type] (string): The event type.
  2. [listener] (Function): The function to unregister.

Returns

(Object): The current instance.

Example

// unregister a listener for an event type
bench.off('cycle', listener);

// unregister a listener for multiple event types
bench.off('start cycle', listener);

// unregister all listeners for an event type
bench.off('cycle');

// unregister all listeners for multiple event types
bench.off('start cycle complete');

// unregister all listeners for all event types
bench.off();

Benchmark.prototype.on(type, listener)

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L1307 "View in source") [Ⓣ][1]

Registers a listener for the specified event type(s).

Arguments

  1. type (string): The event type.
  2. listener (Function): The function to register.

Returns

(Object): The current instance.

Example

// register a listener for an event type
bench.on('cycle', listener);

// register a listener for multiple event types
bench.on('start cycle', listener);

Benchmark.prototype.reset()

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L1444 "View in source") [Ⓣ][1]

Reset properties and abort if running.

Returns

(Object): The benchmark instance.


Benchmark.prototype.run([options={}])

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2093 "View in source") [Ⓣ][1]

Runs the benchmark.

Arguments

  1. [options={}] (Object): Options object.

Returns

(Object): The benchmark instance.

Example

// basic usage
bench.run();

// or with options
bench.run({ 'async': true });

Benchmark.prototype.toString()

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L1525 "View in source") [Ⓣ][1]

Displays relevant benchmark information when coerced to a string.

Returns

(string): A string representation of the benchmark instance.


Properties

Benchmark.Deferred.prototype.benchmark

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2583 "View in source") [Ⓣ][1]

The deferred benchmark instance.


Benchmark.Deferred.prototype.cycles

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2591 "View in source") [Ⓣ][1]

The number of deferred cycles performed while benchmarking.


Benchmark.Deferred.prototype.elapsed

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2599 "View in source") [Ⓣ][1]

The time taken to complete the deferred benchmark (secs).


Benchmark.Deferred.prototype.timeStamp

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2607 "View in source") [Ⓣ][1]

A timestamp of when the deferred benchmark started (ms).


Benchmark.Event.prototype.aborted

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2624 "View in source") [Ⓣ][1]

A flag to indicate if the emitters listener iteration is aborted.


Benchmark.Event.prototype.cancelled

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2632 "View in source") [Ⓣ][1]

A flag to indicate if the default action is cancelled.


Benchmark.Event.prototype.currentTarget

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2640 "View in source") [Ⓣ][1]

The object whose listeners are currently being processed.


Benchmark.Event.prototype.result

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2648 "View in source") [Ⓣ][1]

The return value of the last executed listener.


Benchmark.Event.prototype.target

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2656 "View in source") [Ⓣ][1]

The object to which the event was originally emitted.


Benchmark.Event.prototype.timeStamp

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2664 "View in source") [Ⓣ][1]

A timestamp of when the event was created (ms).


Benchmark.Event.prototype.type

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2672 "View in source") [Ⓣ][1]

The event type.


Benchmark.Suite.options

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2684 "View in source") [Ⓣ][1]

The default options copied by suite instances.


Benchmark.Suite.options.name

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2692 "View in source") [Ⓣ][1]

The name of the suite.


Benchmark.Suite.prototype.aborted

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2713 "View in source") [Ⓣ][1]

A flag to indicate if the suite is aborted.


Benchmark.Suite.prototype.length

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2705 "View in source") [Ⓣ][1]

The number of benchmarks in the suite.


Benchmark.Suite.prototype.running

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2721 "View in source") [Ⓣ][1]

A flag to indicate if the suite is running.


Benchmark.options

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2142 "View in source") [Ⓣ][1]

The default options copied by benchmark instances.


Benchmark.options.async

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2151 "View in source") [Ⓣ][1]

A flag to indicate that benchmark cycles will execute asynchronously by default.


Benchmark.options.defer

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2159 "View in source") [Ⓣ][1]

A flag to indicate that the benchmark clock is deferred.


Benchmark.options.delay

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2166 "View in source") [Ⓣ][1]

The delay between test cycles (secs).


Benchmark.options.id

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2175 "View in source") [Ⓣ][1]

Displayed by Benchmark#toString when a name is not available (auto-generated if absent).


Benchmark.options.initCount

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2183 "View in source") [Ⓣ][1]

The default number of times to execute a test on a benchmark's first cycle.


Benchmark.options.maxTime

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2193 "View in source") [Ⓣ][1]

The maximum time a benchmark is allowed to run before finishing (secs).

Note: Cycle delays aren't counted toward the maximum time.


Benchmark.options.minSamples

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2201 "View in source") [Ⓣ][1]

The minimum sample size required to perform statistical analysis.


Benchmark.options.minTime

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2209 "View in source") [Ⓣ][1]

The time needed to reduce the percent uncertainty of measurement to 1% (secs).


Benchmark.options.name

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2217 "View in source") [Ⓣ][1]

The name of the benchmark.


Benchmark.options.onAbort

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2225 "View in source") [Ⓣ][1]

An event listener called when the benchmark is aborted.


Benchmark.options.onComplete

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2233 "View in source") [Ⓣ][1]

An event listener called when the benchmark completes running.


Benchmark.options.onCycle

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2241 "View in source") [Ⓣ][1]

An event listener called after each run cycle.


Benchmark.options.onError

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2249 "View in source") [Ⓣ][1]

An event listener called when a test errors.


Benchmark.options.onReset

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2257 "View in source") [Ⓣ][1]

An event listener called when the benchmark is reset.


Benchmark.options.onStart

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2265 "View in source") [Ⓣ][1]

An event listener called when the benchmark starts running.


Benchmark.platform

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2276 "View in source") [Ⓣ][1]

Platform object with properties describing things like browser name, version, and operating system. See platform.js.


Benchmark.support

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L195 "View in source") [Ⓣ][1]

An object used to flag environments/features.


Benchmark.support.browser

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L205 "View in source") [Ⓣ][1]

Detect if running in a browser environment.


Benchmark.version

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2297 "View in source") [Ⓣ][1]

The semantic version number.


Benchmark.prototype.aborted

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2372 "View in source") [Ⓣ][1]

A flag to indicate if the benchmark is aborted.


Benchmark.prototype.compiled

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2348 "View in source") [Ⓣ][1]

The compiled test function.


Benchmark.prototype.count

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2324 "View in source") [Ⓣ][1]

The number of times a test was executed.


Benchmark.prototype.cycles

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2332 "View in source") [Ⓣ][1]

The number of cycles performed while benchmarking.


Benchmark.support.decompilation

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L222 "View in source") [Ⓣ][1]

Detect if function decompilation is support.


Benchmark.prototype.error

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2356 "View in source") [Ⓣ][1]

The error object if the test failed.


Benchmark.prototype.fn

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2364 "View in source") [Ⓣ][1]

The test to benchmark.


Benchmark.prototype.hz

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2340 "View in source") [Ⓣ][1]

The number of executions per second.


Benchmark.prototype.running

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2380 "View in source") [Ⓣ][1]

A flag to indicate if the benchmark is running.


Benchmark.prototype.setup

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2443 "View in source") [Ⓣ][1]

Compiled into the test and executed immediately before the test loop.

Example

// basic usage
var bench = Benchmark({
  'setup': function() {
    var c = this.count,
        element = document.getElementById('container');
    while (c--) {
      element.appendChild(document.createElement('div'));
    }
  },
  'fn': function() {
    element.removeChild(element.lastChild);
  }
});

// compiles to something like:
var c = this.count,
    element = document.getElementById('container');
while (c--) {
  element.appendChild(document.createElement('div'));
}
var start = new Date;
while (count--) {
  element.removeChild(element.lastChild);
}
var end = new Date - start;

// or using strings
var bench = Benchmark({
  'setup': '\
    var a = 0;\n\
    (function() {\n\
      (function() {\n\
        (function() {',
  'fn': 'a += 1;',
  'teardown': '\
         }())\n\
       }())\n\
     }())'
});

// compiles to something like:
var a = 0;
(function() {
  (function() {
    (function() {
      var start = new Date;
      while (count--) {
        a += 1;
      }
      var end = new Date - start;
    }())
  }())
}())

Benchmark.prototype.stats

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2459 "View in source") [Ⓣ][1]

An object of stats including mean, margin or error, and standard deviation.


Benchmark.prototype.teardown

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2451 "View in source") [Ⓣ][1]

Compiled into the test and executed immediately after the test loop.


Benchmark.support.timeout

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L213 "View in source") [Ⓣ][1]

Detect if the Timers API exists.


Benchmark.prototype.times

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2524 "View in source") [Ⓣ][1]

An object of timing data including cycle, elapsed, period, start, and stop.


Benchmark#stats.deviation

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2491 "View in source") [Ⓣ][1]

The sample standard deviation.


Benchmark#stats.mean

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2499 "View in source") [Ⓣ][1]

The sample arithmetic mean (secs).


Benchmark#stats.moe

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2467 "View in source") [Ⓣ][1]

The margin of error.


Benchmark#stats.rme

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2475 "View in source") [Ⓣ][1]

The relative margin of error (expressed as a percentage of the mean).


Benchmark#stats.sample

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2507 "View in source") [Ⓣ][1]

The array of sampled periods.


Benchmark#stats.sem

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2483 "View in source") [Ⓣ][1]

The standard error of the mean.


Benchmark#stats.variance

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2515 "View in source") [Ⓣ][1]

The sample variance.


Benchmark#times.cycle

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2532 "View in source") [Ⓣ][1]

The time taken to complete the last cycle (secs).


Benchmark#times.elapsed

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2540 "View in source") [Ⓣ][1]

The time taken to complete the benchmark (secs).


Benchmark#times.period

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2548 "View in source") [Ⓣ][1]

The time taken to execute the test once (secs).


Benchmark#times.timeStamp

[Ⓢ](https://github.com/bestiejs/benchmark.js/blob/2.1.4/benchmark.js#L2556 "View in source") [Ⓣ][1]

A timestamp of when the benchmark started (ms).