New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More

benchmark

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

benchmark - npm Package Compare versions

Comparing version 0.1.345 to 0.1.346

@@ -1,4 +0,4 @@

Mac OS X  2��ATTRV3���%�%com.macromates.caret{
Mac OS X  2��ATTR,�@��%�%com.macromates.caret{
column = 16;
line = 1665;
line = 1684;
}

@@ -1,4 +0,4 @@

Mac OS X  2��ATTRV3���"�"com.macromates.caret{
column = 14;
line = 9;
Mac OS X  2��ATTR,�D��#�#com.macromates.caret{
column = 17;
line = 41;
}

@@ -8,3 +8,2 @@ /*!

*/
(function(window) {

@@ -232,10 +231,10 @@

function clock() {
var args,
var applet,
args,
fallback,
timerApplet,
timerNS,
timerRes,
timerUnit,
proto = Benchmark.prototype,
resLimit = 0.0015,
timers = [],
timerNS = Date,
msRes = getRes('ms'),
timer = { 'ns': timerNS, 'res': max(0.0015, msRes), 'unit': 'ms' },
code = '#{setup}var r$,i$=m$.count,f$=m$.fn,#{start};while(i$--){|}#{end};#{teardown}return{time:r$,uid:"$"}|m$.teardown&&m$.teardown();|f$()|m$.setup&&m$.setup();|m$,n$';

@@ -250,3 +249,3 @@

if (timerUnit == 'ns') {
if (applet) {
// repair nanosecond timer

@@ -257,3 +256,3 @@ try {

// use non-element to avoid issues with libs that augment them
timerNS = new timerApplet.Packages.nano;
timerNS = new applet.Packages.nano;
}

@@ -303,4 +302,9 @@ }

divisor = 1e6;
timerNS.start();
while(!(measured = timerNS.microseconds()));
if (timerNS.stop) {
timerNS.start();
while(!(measured = timerNS.microseconds()));
} else {
start = timerNS();
while(!(measured = timerNS() - start));
}
}

@@ -329,47 +333,59 @@ else if (unit == 'ns') {

// detect nanosecond support from an applet
each(window.document && document.applets || [], function(applet) {
timerApplet || (timerApplet = 'nanoTime' in applet && applet);
timerNS || (timerNS = timerApplet);
// detect nanosecond support from a Java applet
each(window.document && document.applets || [], function(element) {
if (timerNS = applet = 'nanoTime' in element && element) {
return false;
}
});
// or exposed Java API
// or the exposed Java API
// http://download.oracle.com/javase/6/docs/api/java/lang/System.html#nanoTime()
try { timerNS = java.lang.System; } catch(e) { }
try {
timerNS = java.lang.System;
} catch(e) { }
// check type in case Safari returns an object instead of a number
try {
// check type in case Safari returns an object instead of a number
timerNS = typeof timerNS.nanoTime() == 'number' && timerNS;
timerRes = getRes('ns');
timerNS = timerRes < resLimit && (timerUnit = 'ns', timerNS);
} catch(e) {
timerNS = null;
}
if (typeof timerNS.nanoTime() == 'number') {
timers.push({ 'ns': timerNS, 'res': getRes('ns'), 'unit': 'ns' });
}
} catch(e) { }
// detect microsecond support:
// enable benchmarking via the --enable-benchmarking flag
// in at least Chrome 7 to use chrome.Interval
if (!timerNS) {
// remove unused applet
if (timerApplet) {
timerApplet.parentNode.removeChild(timerApplet);
// detect Chrome's microsecond timer:
// enable benchmarking via the --enable-benchmarking command
// line switch in at least Chrome 7 to use chrome.Interval
try {
if (timerNS = new (window.chrome || window.chromium).Interval) {
timers.push({ 'ns': timerNS, 'res': getRes('us'), 'unit': 'us' });
}
try {
timerNS = new (window.chrome || window.chromium).Interval;
timerRes = getRes('us');
timerNS = timerRes < resLimit && (timerUnit = 'us', timerNS);
} catch(e) { }
} catch(e) { }
// detect Node's microtime module:
// npm install microtime
try {
if (timerNS = typeof require == 'function' && !window.require && require('microtime').now) {
timers.push({ 'ns': timerNS, 'res': getRes('us'), 'unit': 'us' });
}
} catch(e) { }
// pick timer with highest resolution
timerNS = (timer = reduce(timers, function(timer, other) {
return other.res < timer.res ? other : timer;
}, timer)).ns;
// restore ms res
if (timer.unit == 'ms') {
timer.res = msRes;
}
// else milliseconds
if (!timerNS) {
timerNS = Date;
timerRes = getRes('ms');
// remove unused applet
if (timer.unit != 'ns' && applet) {
applet.parentNode.removeChild(applet);
applet = null;
}
// error if there are no working timers
if (timerRes == Infinity) {
if (timer.res == Infinity) {
throw new Error('Benchmark.js was unable to find a working timer.');
}
// use API of chosen timer
if (timerUnit == 'ns') {
if (timer.unit == 'ns') {
code = interpolate(code, {

@@ -380,6 +396,9 @@ 'start': 's$=n$.nanoTime()',

}
else if (timerUnit == 'us') {
code = interpolate(code, {
else if (timer.unit == 'us') {
code = interpolate(code, timerNS.stop ? {
'start': 's$=n$.start()',
'end': 'r$=n$.microseconds()/1e6'
} : {
'start': 's$=n$()',
'end': 'r$=(n$()-s$)/1e6'
});

@@ -405,3 +424,3 @@ }

// resolve time to achieve a percent uncertainty of 1%
proto.MIN_TIME || (proto.MIN_TIME = max(timerRes / 2 / 0.01, 0.05));
proto.MIN_TIME || (proto.MIN_TIME = max(timer.res / 2 / 0.01, 0.05));
return clock.apply(null, arguments);

@@ -1674,3 +1693,3 @@ }

*/
'version': '0.1.345',
'version': '0.1.346',

@@ -1677,0 +1696,0 @@ // generic Array#forEach

@@ -103,3 +103,3 @@ # Benchmark.js API documentation

<!-- div -->
### <a id="Benchmark" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L116" title="View in source">`Benchmark(name, fn [, options={}])`</a>
### <a id="Benchmark" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L115" title="View in source">`Benchmark(name, fn [, options={}])`</a>
Benchmark constructor.

@@ -153,3 +153,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark.platform" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1479" title="View in source">`Benchmark.platform`</a>
### <a id="Benchmark.platform" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1498" title="View in source">`Benchmark.platform`</a>
*(Object)*: Platform object containing browser name, version, and operating system.

@@ -160,3 +160,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark.version" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1666" title="View in source">`Benchmark.version`</a>
### <a id="Benchmark.version" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1685" title="View in source">`Benchmark.version`</a>
*(String)*: The version number.

@@ -167,3 +167,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark.each" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L477" title="View in source">`Benchmark.each(array, callback)`</a>
### <a id="Benchmark.each" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L496" title="View in source">`Benchmark.each(array, callback)`</a>
A generic bare-bones `Array#forEach` solution.

@@ -182,3 +182,3 @@ Callbacks may terminate the loop by explicitly returning `false`.

<!-- div -->
### <a id="Benchmark.extend" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L497" title="View in source">`Benchmark.extend(destination [, source={}])`</a>
### <a id="Benchmark.extend" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L516" title="View in source">`Benchmark.extend(destination [, source={}])`</a>
Copies own/inherited properties of a source object to the destination object.

@@ -196,3 +196,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark.filter" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L528" title="View in source">`Benchmark.filter(array, callback)`</a>
### <a id="Benchmark.filter" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L547" title="View in source">`Benchmark.filter(array, callback)`</a>
A generic bare-bones `Array#filter` solution.

@@ -225,3 +225,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark.forIn" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L558" title="View in source">`Benchmark.forIn(object, callback)`</a>
### <a id="Benchmark.forIn" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L577" title="View in source">`Benchmark.forIn(object, callback)`</a>
A generic bare-bones for-in solution for an object's own properties.

@@ -239,3 +239,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark.formatNumber" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L574" title="View in source">`Benchmark.formatNumber(number)`</a>
### <a id="Benchmark.formatNumber" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L593" title="View in source">`Benchmark.formatNumber(number)`</a>
Converts a number to a more readable comma-separated string representation.

@@ -252,3 +252,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark.hasKey" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L592" title="View in source">`Benchmark.hasKey(object, key)`</a>
### <a id="Benchmark.hasKey" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L611" title="View in source">`Benchmark.hasKey(object, key)`</a>
Checks if an object has the specified key as a direct property.

@@ -266,3 +266,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark.indexOf" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L621" title="View in source">`Benchmark.indexOf(array, value)`</a>
### <a id="Benchmark.indexOf" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L640" title="View in source">`Benchmark.indexOf(array, value)`</a>
A generic bare-bones `Array#indexOf` solution.

@@ -280,3 +280,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark.interpolate" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L767" title="View in source">`Benchmark.interpolate(string, object)`</a>
### <a id="Benchmark.interpolate" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L786" title="View in source">`Benchmark.interpolate(string, object)`</a>
Modify a string by replacing named tokens with matching object property values.

@@ -300,3 +300,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark.invoke" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L670" title="View in source">`Benchmark.invoke(benches, name [, arg1, arg2, ...])`</a>
### <a id="Benchmark.invoke" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L689" title="View in source">`Benchmark.invoke(benches, name [, arg1, arg2, ...])`</a>
Invokes a method on all items in an array.

@@ -344,3 +344,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark.isArray" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L782" title="View in source">`Benchmark.isArray(value)`</a>
### <a id="Benchmark.isArray" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L801" title="View in source">`Benchmark.isArray(value)`</a>
Determines if the given value is an array.

@@ -357,3 +357,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark.isClassOf" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L794" title="View in source">`Benchmark.isClassOf(object, name)`</a>
### <a id="Benchmark.isClassOf" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L813" title="View in source">`Benchmark.isClassOf(object, name)`</a>
Checks if an object is of the specified class.

@@ -371,3 +371,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark.isHostType" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L808" title="View in source">`Benchmark.isHostType(object, property)`</a>
### <a id="Benchmark.isHostType" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L827" title="View in source">`Benchmark.isHostType(object, property)`</a>
Host objects can return type values that are different from their actual

@@ -387,3 +387,3 @@ data type. The objects we are concerned with usually return non-primitive

<!-- div -->
### <a id="Benchmark.join" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L822" title="View in source">`Benchmark.join(object [, separator1=',', separator2=': '])`</a>
### <a id="Benchmark.join" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L841" title="View in source">`Benchmark.join(object [, separator1=',', separator2=': '])`</a>
Creates a string of joined array values or object key-value pairs.

@@ -402,3 +402,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark.map" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L844" title="View in source">`Benchmark.map(array, callback)`</a>
### <a id="Benchmark.map" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L863" title="View in source">`Benchmark.map(array, callback)`</a>
A generic bare-bones `Array#map` solution.

@@ -416,3 +416,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark.noop" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L856" title="View in source">`Benchmark.noop`</a>
### <a id="Benchmark.noop" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L875" title="View in source">`Benchmark.noop`</a>
A no-operation function.

@@ -423,3 +423,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark.pluck" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L868" title="View in source">`Benchmark.pluck(array, property)`</a>
### <a id="Benchmark.pluck" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L887" title="View in source">`Benchmark.pluck(array, property)`</a>
Retrieves the value of a specified property from all items in an array.

@@ -437,3 +437,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark.reduce" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L883" title="View in source">`Benchmark.reduce(array, callback, accumulator)`</a>
### <a id="Benchmark.reduce" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L902" title="View in source">`Benchmark.reduce(array, callback, accumulator)`</a>
A generic bare-bones `Array#reduce` solution.

@@ -452,3 +452,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark.trim" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L897" title="View in source">`Benchmark.trim(string)`</a>
### <a id="Benchmark.trim" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L916" title="View in source">`Benchmark.trim(string)`</a>
A generic bare-bones `String#trim` solution.

@@ -469,3 +469,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark:CYCLE_DELAY" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1735" title="View in source">`Benchmark#CYCLE_DELAY`</a>
### <a id="Benchmark:CYCLE_DELAY" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1754" title="View in source">`Benchmark#CYCLE_DELAY`</a>
*(Number)*: The delay between test cycles *(secs)*.

@@ -476,3 +476,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark:DEFAULT_ASYNC" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1742" title="View in source">`Benchmark#DEFAULT_ASYNC`</a>
### <a id="Benchmark:DEFAULT_ASYNC" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1761" title="View in source">`Benchmark#DEFAULT_ASYNC`</a>
*(Boolean)*: A flag to indicate methods will run asynchronously by default.

@@ -483,3 +483,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark:INIT_RUN_COUNT" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1749" title="View in source">`Benchmark#INIT_RUN_COUNT`</a>
### <a id="Benchmark:INIT_RUN_COUNT" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1768" title="View in source">`Benchmark#INIT_RUN_COUNT`</a>
*(Number)*: The default number of times to execute a test on a benchmark's first cycle.

@@ -490,3 +490,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark:MAX_TIME_ELAPSED" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1756" title="View in source">`Benchmark#MAX_TIME_ELAPSED`</a>
### <a id="Benchmark:MAX_TIME_ELAPSED" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1775" title="View in source">`Benchmark#MAX_TIME_ELAPSED`</a>
*(Number)*: The maximum time a benchmark is allowed to run before finishing *(secs)*.

@@ -497,3 +497,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark:MIN_SAMPLE_SIZE" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1763" title="View in source">`Benchmark#MIN_SAMPLE_SIZE`</a>
### <a id="Benchmark:MIN_SAMPLE_SIZE" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1782" title="View in source">`Benchmark#MIN_SAMPLE_SIZE`</a>
*(Number)*: The minimum sample size required to perform statistical analysis.

@@ -504,3 +504,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark:MIN_TIME" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1770" title="View in source">`Benchmark#MIN_TIME`</a>
### <a id="Benchmark:MIN_TIME" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1789" title="View in source">`Benchmark#MIN_TIME`</a>
*(Number)*: The time needed to reduce the percent uncertainty of measurement to `1`% *(secs)*.

@@ -511,3 +511,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark:aborted" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1812" title="View in source">`Benchmark#aborted`</a>
### <a id="Benchmark:aborted" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1831" title="View in source">`Benchmark#aborted`</a>
*(Boolean)*: A flag to indicate if the benchmark is aborted.

@@ -518,3 +518,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark:count" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1777" title="View in source">`Benchmark#count`</a>
### <a id="Benchmark:count" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1796" title="View in source">`Benchmark#count`</a>
*(Number)*: The number of times a test was executed.

@@ -525,3 +525,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark:created" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1784" title="View in source">`Benchmark#created`</a>
### <a id="Benchmark:created" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1803" title="View in source">`Benchmark#created`</a>
*(Number)*: A timestamp of when the benchmark was created.

@@ -532,3 +532,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark:cycles" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1791" title="View in source">`Benchmark#cycles`</a>
### <a id="Benchmark:cycles" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1810" title="View in source">`Benchmark#cycles`</a>
*(Number)*: The number of cycles performed while benchmarking.

@@ -539,3 +539,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark:error" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1798" title="View in source">`Benchmark#error`</a>
### <a id="Benchmark:error" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1817" title="View in source">`Benchmark#error`</a>
*(Object|Null)*: The error object if the test failed.

@@ -546,3 +546,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark:hz" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1805" title="View in source">`Benchmark#hz`</a>
### <a id="Benchmark:hz" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1824" title="View in source">`Benchmark#hz`</a>
*(Number)*: The number of executions per second.

@@ -553,3 +553,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark:running" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1819" title="View in source">`Benchmark#running`</a>
### <a id="Benchmark:running" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1838" title="View in source">`Benchmark#running`</a>
*(Boolean)*: A flag to indicate if the benchmark is running.

@@ -560,3 +560,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark:abort" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1135" title="View in source">`Benchmark#abort`</a>
### <a id="Benchmark:abort" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1154" title="View in source">`Benchmark#abort`</a>
Aborts the benchmark without recording times.

@@ -570,3 +570,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark:addListener" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1046" title="View in source">`Benchmark#addListener(type, listener)`</a>
### <a id="Benchmark:addListener" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1065" title="View in source">`Benchmark#addListener(type, listener)`</a>
Registers a single listener of a specified event type.

@@ -591,3 +591,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark:clone" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1163" title="View in source">`Benchmark#clone(options)`</a>
### <a id="Benchmark:clone" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1182" title="View in source">`Benchmark#clone(options)`</a>
Creates a new benchmark using the same test and options.

@@ -609,3 +609,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark:compare" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1181" title="View in source">`Benchmark#compare(other)`</a>
### <a id="Benchmark:compare" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1200" title="View in source">`Benchmark#compare(other)`</a>
Determines if the benchmark's period is smaller than another.

@@ -622,3 +622,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark:emit" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1061" title="View in source">`Benchmark#emit(type)`</a>
### <a id="Benchmark:emit" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1080" title="View in source">`Benchmark#emit(type)`</a>
Executes all registered listeners of a specified event type.

@@ -632,3 +632,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark:on" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1825" title="View in source">`Benchmark#on`</a>
### <a id="Benchmark:on" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1844" title="View in source">`Benchmark#on`</a>
Alias of [`Benchmark#addListener`](#Benchmark:addListener).

@@ -639,3 +639,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark:removeAllListeners" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1118" title="View in source">`Benchmark#removeAllListeners(type)`</a>
### <a id="Benchmark:removeAllListeners" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1137" title="View in source">`Benchmark#removeAllListeners(type)`</a>
Unregisters all listeners of a specified event type.

@@ -659,3 +659,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark:removeListener" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1091" title="View in source">`Benchmark#removeListener(type, listener)`</a>
### <a id="Benchmark:removeListener" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1110" title="View in source">`Benchmark#removeListener(type, listener)`</a>
Unregisters a single listener of a specified event type.

@@ -680,3 +680,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark:reset" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1201" title="View in source">`Benchmark#reset`</a>
### <a id="Benchmark:reset" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1220" title="View in source">`Benchmark#reset`</a>
Reset properties and abort if running.

@@ -690,3 +690,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark:run" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1385" title="View in source">`Benchmark#run([async=false])`</a>
### <a id="Benchmark:run" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1404" title="View in source">`Benchmark#run([async=false])`</a>
Runs the benchmark.

@@ -703,3 +703,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark:toString" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1243" title="View in source">`Benchmark#toString`</a>
### <a id="Benchmark:toString" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1262" title="View in source">`Benchmark#toString`</a>
Displays relevant benchmark information when coerced to a string.

@@ -713,3 +713,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark:stats" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1832" title="View in source">`Benchmark#stats`</a>
### <a id="Benchmark:stats" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1851" title="View in source">`Benchmark#stats`</a>
*(Object)*: An object of stats including mean, margin or error, and standard deviation.

@@ -720,3 +720,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark:stats.ME" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1839" title="View in source">`Benchmark#stats.ME`</a>
### <a id="Benchmark:stats.ME" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1858" title="View in source">`Benchmark#stats.ME`</a>
*(Number)*: The margin of error.

@@ -727,3 +727,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark:stats.RME" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1846" title="View in source">`Benchmark#stats.RME`</a>
### <a id="Benchmark:stats.RME" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1865" title="View in source">`Benchmark#stats.RME`</a>
*(Number)*: The relative margin of error *(expressed as a percentage of the mean)*.

@@ -734,3 +734,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark:stats.SEM" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1853" title="View in source">`Benchmark#stats.SEM`</a>
### <a id="Benchmark:stats.SEM" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1872" title="View in source">`Benchmark#stats.SEM`</a>
*(Number)*: The standard error of the mean.

@@ -741,3 +741,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark:stats.deviation" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1860" title="View in source">`Benchmark#stats.deviation`</a>
### <a id="Benchmark:stats.deviation" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1879" title="View in source">`Benchmark#stats.deviation`</a>
*(Number)*: The sample standard deviation.

@@ -748,3 +748,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark:stats.mean" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1867" title="View in source">`Benchmark#stats.mean`</a>
### <a id="Benchmark:stats.mean" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1886" title="View in source">`Benchmark#stats.mean`</a>
*(Number)*: The sample arithmetic mean.

@@ -755,3 +755,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark:stats.size" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1874" title="View in source">`Benchmark#stats.size`</a>
### <a id="Benchmark:stats.size" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1893" title="View in source">`Benchmark#stats.size`</a>
*(Number)*: The sample size.

@@ -762,3 +762,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark:stats.variance" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1881" title="View in source">`Benchmark#stats.variance`</a>
### <a id="Benchmark:stats.variance" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1900" title="View in source">`Benchmark#stats.variance`</a>
*(Number)*: The sample variance.

@@ -769,3 +769,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark:times" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1889" title="View in source">`Benchmark#times`</a>
### <a id="Benchmark:times" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1908" title="View in source">`Benchmark#times`</a>
*(Object)*: An object of timing data including cycle, elapsed, period, start, and stop.

@@ -776,3 +776,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark:times.cycle" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1896" title="View in source">`Benchmark#times.cycle`</a>
### <a id="Benchmark:times.cycle" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1915" title="View in source">`Benchmark#times.cycle`</a>
*(Number)*: The time taken to complete the last cycle *(secs)*

@@ -783,3 +783,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark:times.elapsed" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1903" title="View in source">`Benchmark#times.elapsed`</a>
### <a id="Benchmark:times.elapsed" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1922" title="View in source">`Benchmark#times.elapsed`</a>
*(Number)*: The time taken to complete the benchmark *(secs)*.

@@ -790,3 +790,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark:times.period" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1910" title="View in source">`Benchmark#times.period`</a>
### <a id="Benchmark:times.period" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1929" title="View in source">`Benchmark#times.period`</a>
*(Number)*: The time taken to execute the test once *(secs)*.

@@ -797,3 +797,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark:times.start" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1917" title="View in source">`Benchmark#times.start`</a>
### <a id="Benchmark:times.start" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1936" title="View in source">`Benchmark#times.start`</a>
*(Number)*: A timestamp of when the benchmark started *(ms)*.

@@ -804,3 +804,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark:times.stop" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1924" title="View in source">`Benchmark#times.stop`</a>
### <a id="Benchmark:times.stop" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1943" title="View in source">`Benchmark#times.stop`</a>
*(Number)*: A timestamp of when the benchmark finished *(ms)*.

@@ -815,3 +815,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark.Suite" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L173" title="View in source">`Benchmark.Suite(name [, options={}])`</a>
### <a id="Benchmark.Suite" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L172" title="View in source">`Benchmark.Suite(name [, options={}])`</a>
Suite constructor.

@@ -859,3 +859,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark.Suite:aborted" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1977" title="View in source">`Benchmark.Suite#aborted`</a>
### <a id="Benchmark.Suite:aborted" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1996" title="View in source">`Benchmark.Suite#aborted`</a>
*(Boolean)*: A flag to indicate if the suite is aborted.

@@ -866,3 +866,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark.Suite:length" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1970" title="View in source">`Benchmark.Suite#length`</a>
### <a id="Benchmark.Suite:length" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1989" title="View in source">`Benchmark.Suite#length`</a>
*(Number)*: The number of benchmarks in the suite.

@@ -873,3 +873,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark.Suite:running" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1984" title="View in source">`Benchmark.Suite#running`</a>
### <a id="Benchmark.Suite:running" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L2003" title="View in source">`Benchmark.Suite#running`</a>
*(Boolean)*: A flag to indicate if the suite is running.

@@ -880,3 +880,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark.Suite:abort" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L909" title="View in source">`Benchmark.Suite#abortSuite`</a>
### <a id="Benchmark.Suite:abort" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L928" title="View in source">`Benchmark.Suite#abortSuite`</a>
Aborts all benchmarks in the suite.

@@ -890,3 +890,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark.Suite:add" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L939" title="View in source">`Benchmark.Suite#add(name, fn [, options={}])`</a>
### <a id="Benchmark.Suite:add" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L958" title="View in source">`Benchmark.Suite#add(name, fn [, options={}])`</a>
Adds a test to the benchmark suite.

@@ -918,3 +918,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark.Suite:addListener" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1046" title="View in source">`Benchmark.Suite#addListener(type, listener)`</a>
### <a id="Benchmark.Suite:addListener" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1065" title="View in source">`Benchmark.Suite#addListener(type, listener)`</a>
Registers a single listener of a specified event type.

@@ -939,3 +939,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark.Suite:clone" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L956" title="View in source">`Benchmark.Suite#cloneSuite(options)`</a>
### <a id="Benchmark.Suite:clone" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L975" title="View in source">`Benchmark.Suite#cloneSuite(options)`</a>
Creates a new suite with cloned benchmarks.

@@ -952,3 +952,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark.Suite:each" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1993" title="View in source">`Benchmark.Suite#each(callback)`</a>
### <a id="Benchmark.Suite:each" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L2012" title="View in source">`Benchmark.Suite#each(callback)`</a>
A bare-bones `Array#forEach` solution.

@@ -966,3 +966,3 @@ Callbacks may terminate the loop by explicitly returning `false`.

<!-- div -->
### <a id="Benchmark.Suite:emit" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1061" title="View in source">`Benchmark.Suite#emit(type)`</a>
### <a id="Benchmark.Suite:emit" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1080" title="View in source">`Benchmark.Suite#emit(type)`</a>
Executes all registered listeners of a specified event type.

@@ -976,3 +976,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark.Suite:filter" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L975" title="View in source">`Benchmark.Suite#filterSuite(callback)`</a>
### <a id="Benchmark.Suite:filter" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L994" title="View in source">`Benchmark.Suite#filterSuite(callback)`</a>
A bare-bones `Array#filter` solution.

@@ -989,3 +989,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark.Suite:indexOf" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L2001" title="View in source">`Benchmark.Suite#indexOf(value)`</a>
### <a id="Benchmark.Suite:indexOf" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L2020" title="View in source">`Benchmark.Suite#indexOf(value)`</a>
A bare-bones `Array#indexOf` solution.

@@ -1002,3 +1002,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark.Suite:invoke" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L2010" title="View in source">`Benchmark.Suite#invoke(name [, arg1, arg2, ...])`</a>
### <a id="Benchmark.Suite:invoke" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L2029" title="View in source">`Benchmark.Suite#invoke(name [, arg1, arg2, ...])`</a>
Invokes a method on all benchmarks in the suite.

@@ -1016,3 +1016,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark.Suite:map" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L2018" title="View in source">`Benchmark.Suite#map(callback)`</a>
### <a id="Benchmark.Suite:map" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L2037" title="View in source">`Benchmark.Suite#map(callback)`</a>
A bare-bones `Array#map` solution.

@@ -1029,3 +1029,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark.Suite:on" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1825" title="View in source">`Benchmark.Suite#on`</a>
### <a id="Benchmark.Suite:on" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1844" title="View in source">`Benchmark.Suite#on`</a>
Alias of [`Benchmark#addListener`](#Benchmark:addListener).

@@ -1036,3 +1036,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark.Suite:pluck" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L2026" title="View in source">`Benchmark.Suite#pluck(property)`</a>
### <a id="Benchmark.Suite:pluck" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L2045" title="View in source">`Benchmark.Suite#pluck(property)`</a>
Retrieves the value of a specified property from all benchmarks in the suite.

@@ -1049,3 +1049,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark.Suite:reduce" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L2035" title="View in source">`Benchmark.Suite#reduce(callback, accumulator)`</a>
### <a id="Benchmark.Suite:reduce" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L2054" title="View in source">`Benchmark.Suite#reduce(callback, accumulator)`</a>
A bare-bones `Array#reduce` solution.

@@ -1063,3 +1063,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark.Suite:removeAllListeners" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1118" title="View in source">`Benchmark.Suite#removeAllListeners(type)`</a>
### <a id="Benchmark.Suite:removeAllListeners" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1137" title="View in source">`Benchmark.Suite#removeAllListeners(type)`</a>
Unregisters all listeners of a specified event type.

@@ -1083,3 +1083,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark.Suite:removeListener" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1091" title="View in source">`Benchmark.Suite#removeListener(type, listener)`</a>
### <a id="Benchmark.Suite:removeListener" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1110" title="View in source">`Benchmark.Suite#removeListener(type, listener)`</a>
Unregisters a single listener of a specified event type.

@@ -1104,3 +1104,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark.Suite:reset" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L989" title="View in source">`Benchmark.Suite#resetSuite`</a>
### <a id="Benchmark.Suite:reset" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1008" title="View in source">`Benchmark.Suite#resetSuite`</a>
Resets all benchmarks in the suite.

@@ -1114,3 +1114,3 @@ [&#9650;][1]

<!-- div -->
### <a id="Benchmark.Suite:run" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1005" title="View in source">`Benchmark.Suite#runSuite([async=false, queued=false])`</a>
### <a id="Benchmark.Suite:run" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1024" title="View in source">`Benchmark.Suite#runSuite([async=false, queued=false])`</a>
Runs the suite.

@@ -1117,0 +1117,0 @@ [&#9650;][1]

{
"name": "benchmark",
"version": "0.1.345",
"version": "0.1.346",
"description": "A benchmarking library that works on nearly all JavaScript platforms, supports high-resolution timers, and returns statistically significant results.",

@@ -5,0 +5,0 @@ "homepage": "http://benchmarkjs.com/",

@@ -17,6 +17,10 @@ # Benchmark.js

Optionally, add the `nanoTime` Java applet to the `<body>`:
Optionally, expose Java’s nanosecond timer by adding the `nano` applet to the `<body>`:
<applet code="nano" archive="nano.jar"></applet>
Or enable Chrome’s microsecond timer by using the [command line switch](http://peter.sh/experiments/chromium-command-line-switches/#enable-benchmarking):
--enable-benchmarking
Via [npm](http://npmjs.org/):

@@ -30,2 +34,6 @@

Optionally, use the [microtime module](https://github.com/wadey/node-microtime) by Wade Simmons:
npm install microtime
In [Narwhal](http://narwhaljs.org/) and [RingoJS](http://ringojs.org/):

@@ -32,0 +40,0 @@