Comparing version 0.1.346 to 0.1.347
157
benchmark.js
@@ -114,2 +114,12 @@ /*! | ||
* }); | ||
* | ||
* // or options only | ||
* var bench = new Benchmark({ | ||
* | ||
* // benchmark name | ||
* 'name': 'foo', | ||
* | ||
* // benchmark test function | ||
* 'fn': fn | ||
* }); | ||
*/ | ||
@@ -119,6 +129,13 @@ function Benchmark(name, fn, options) { | ||
var me = this; | ||
if (isClassOf(name, 'Function')) { | ||
if (isClassOf(name, 'Object')) { | ||
// 1 argument | ||
options = name; | ||
} | ||
else if (isClassOf(name, 'Function')) { | ||
// 2 arguments | ||
options = fn; | ||
fn = name; | ||
} else { | ||
} | ||
else { | ||
// 3 arguments | ||
me.name = name; | ||
@@ -128,5 +145,5 @@ } | ||
if (name != HEADLESS) { | ||
me.fn = fn; | ||
setOptions(me, options); | ||
fn = me.fn || (me.fn = fn); | ||
fn.uid || (fn.uid = ++cache.counter); | ||
setOptions(me, options); | ||
@@ -244,6 +261,5 @@ me.created = +new Date; | ||
clock = function(me) { | ||
var embedded, | ||
result, | ||
var result, | ||
fn = me.fn, | ||
compilable = fn.compilable, | ||
compiled = fn.compiled, | ||
count = me.count; | ||
@@ -260,28 +276,27 @@ | ||
} | ||
if (compilable == null || compilable) { | ||
if (compiled == null || compiled) { | ||
try { | ||
// insert test body into the while-loop | ||
embedded = Function(args, | ||
interpolate(code[0], { 'setup': getSource(me.setup) }) + | ||
getSource(fn) + | ||
interpolate(code[1], { 'teardown': getSource(me.teardown) }) | ||
); | ||
if (compilable == null) { | ||
if (!compiled) { | ||
// insert test body into the while-loop | ||
compiled = createFunction(args, | ||
interpolate(code[0], { 'setup': getSource(me.setup) }) + | ||
getSource(fn) + | ||
interpolate(code[1], { 'teardown': getSource(me.teardown) }) | ||
); | ||
// determine if compiled code is exited early, usually by a rogue | ||
// return statement, by checking for a return object with the uid | ||
me.count = 1; | ||
compilable = fn.compilable = embedded(me, timerNS).uid == EMBEDDED_UID; | ||
compiled = fn.compiled = compiled(me, timerNS).uid == EMBEDDED_UID && compiled; | ||
me.count = count; | ||
} | ||
if (compilable) { | ||
result = embedded(me, timerNS).time; | ||
if (compiled) { | ||
result = compiled(me, timerNS).time; | ||
} | ||
} catch(e) { | ||
me.count = count; | ||
compilable = fn.compilable = false; | ||
compiled = fn.compiled = false; | ||
} | ||
} | ||
// fallback to simple while-loop when compilable is false | ||
if (!compilable) { | ||
// fallback to simple while-loop when compiled is false | ||
if (!compiled) { | ||
result = fallback(me, timerNS).time; | ||
@@ -415,3 +430,3 @@ } | ||
args = code.pop(); | ||
fallback = Function(args, | ||
fallback = createFunction(args, | ||
interpolate(code[0], { 'setup': code.pop() }) + | ||
@@ -428,2 +443,34 @@ code.pop() + | ||
/** | ||
* Creates a function from the given arguments string and body. | ||
* @private | ||
* @param {String} args The comma separated function arguments. | ||
* @param {String} body The function body. | ||
* @returns {Function} The new function. | ||
*/ | ||
function createFunction() { | ||
var scripts, | ||
prop = 'c' + EMBEDDED_UID; | ||
createFunction = function(args, body) { | ||
var parent = scripts[0].parentNode, | ||
script = document.createElement('script'); | ||
script.appendChild(document.createTextNode('Benchmark.' + prop + '=function(' + args + '){' + body + '}')); | ||
parent.removeChild(parent.insertBefore(script, scripts[0])); | ||
return [Benchmark[prop], delete Benchmark[prop]][0]; | ||
}; | ||
// fix JaegerMonkey bug | ||
// http://bugzil.la/639720 | ||
try { | ||
scripts = document.getElementsByTagName('script'); | ||
createFunction = createFunction('', 'return ' + EMBEDDED_UID)() == EMBEDDED_UID && createFunction; | ||
} catch (e) { | ||
createFunction = false; | ||
} | ||
createFunction || (createFunction = Function); | ||
return createFunction.apply(null, arguments); | ||
} | ||
/** | ||
* Wraps a function and passes `this` to the original function as the first argument. | ||
@@ -601,9 +648,4 @@ * @private | ||
function formatNumber(number) { | ||
var comma = ',', | ||
string = String(max(0, abs(number).toFixed(0))), | ||
length = string.length, | ||
end = /^\d{4,}$/.test(string) ? length % 3 : 0; | ||
return (end ? string.slice(0, end) + comma : '') + | ||
string.slice(end).replace(/(\d{3})(?=\d)/g, '$1' + comma); | ||
number = String(number).split('.'); | ||
return number[0].replace(/(?=(?:\d{3})+$)(?!\b)/g, ',') + (number[1] ? '.' + number[1] : ''); | ||
} | ||
@@ -1272,4 +1314,6 @@ | ||
var me = this, | ||
cycles = me.cycles, | ||
error = me.error, | ||
hz = me.hz, | ||
stats = me.stats, | ||
size = stats.size, | ||
pm = IN_JAVA ? '+/-' : '\xb1', | ||
@@ -1281,4 +1325,4 @@ result = me.name || me.id || ('<Test #' + me.fn.uid + '>'); | ||
} else { | ||
result += ' x ' + formatNumber(me.hz) + ' ' + pm + | ||
me.stats.RME.toFixed(2) + '% (' + cycles + ' cycle' + (cycles == 1 ? '' : 's') + ')'; | ||
result += ' x ' + formatNumber(hz.toFixed(hz < 100 ? 2 : 0)) + ' ops/sec ' + pm + | ||
stats.RME.toFixed(2) + '% (' + size + ' run' + (size == 1 ? '' : 's') + ' sampled)'; | ||
} | ||
@@ -1520,3 +1564,3 @@ return result; | ||
os = 'Android,Cygwin,SymbianOS,webOS[ /]\\d,Linux,Mac OS(?: X)?,Macintosh,Windows 98;,Windows ', | ||
product = 'BlackBerry\\s?\\d+,iP[ao]d,iPhone,Kindle,Nokia,Nook,Samsung', | ||
product = 'BlackBerry\\s?\\d+,iP[ao]d,iPhone,Kindle,Nokia,Nook,Samsung,Xoom', | ||
version = isClassOf(window.opera, 'Opera') && opera.version(); | ||
@@ -1579,3 +1623,3 @@ | ||
if ((data = product || os) && !/^(?:iP|Lin|Mac|Win)/.test(data)) { | ||
name = /[a-z]+/i.exec(data) + ' Browser'; | ||
name = /[a-z]+/i.exec(/^And/.test(os) && os || data) + ' Browser'; | ||
} | ||
@@ -1697,3 +1741,3 @@ } | ||
*/ | ||
'version': '0.1.346', | ||
'version': '0.1.347', | ||
@@ -1860,2 +1904,35 @@ // generic Array#forEach | ||
/** | ||
* Compiled into the test and executed immediately **before** the test loop. | ||
* @member Benchmark | ||
* @type Function | ||
* @example | ||
* | ||
* var bench = new Benchmark({ | ||
* 'fn': function() { | ||
* a += 1; | ||
* }, | ||
* 'setup': function() { | ||
* // reset local var `a` at the beginning of each test cycle | ||
* a = 0; | ||
* } | ||
* }); | ||
* | ||
* // compiles into something like: | ||
* var a = 0; | ||
* var start = new Date; | ||
* while (count--) { | ||
* a += 1; | ||
* } | ||
* var end = new Date - start; | ||
*/ | ||
'setup': noop, | ||
/** | ||
* Compiled into the test and executed immediately **after** the test loop. | ||
* @member Benchmark | ||
* @type Function | ||
*/ | ||
'teardown': noop, | ||
/** | ||
* An object of stats including mean, margin or error, and standard deviation. | ||
@@ -1985,9 +2062,3 @@ * @member Benchmark | ||
// runs the benchmark | ||
'run': run, | ||
// used to perform operations immediately before the test loop | ||
'setup': noop, | ||
// used to perform operations immediately after the test loop | ||
'teardown': noop | ||
'run': run | ||
}); | ||
@@ -1994,0 +2065,0 @@ |
@@ -53,2 +53,4 @@ # Benchmark.js API documentation | ||
* [`Benchmark#run`](#Benchmark:run) | ||
* [`Benchmark#setup`](#Benchmark:setup) | ||
* [`Benchmark#teardown`](#Benchmark:teardown) | ||
* [`Benchmark#toString`](#Benchmark:toString) | ||
@@ -104,3 +106,3 @@ * [`Benchmark#stats`](#Benchmark:stats) | ||
<!-- div --> | ||
### <a id="Benchmark" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L115" title="View in source">`Benchmark(name, fn [, options={}])`</a> | ||
### <a id="Benchmark" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L125" title="View in source">`Benchmark(name, fn [, options={}])`</a> | ||
Benchmark constructor. | ||
@@ -151,6 +153,16 @@ [▲][1] | ||
}); | ||
// or options only | ||
var bench = new Benchmark({ | ||
// benchmark name | ||
'name': 'foo', | ||
// benchmark test function | ||
'fn': fn | ||
}); | ||
<!-- /div --> | ||
<!-- div --> | ||
### <a id="Benchmark.platform" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1498" title="View in source">`Benchmark.platform`</a> | ||
### <a id="Benchmark.platform" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1542" title="View in source">`Benchmark.platform`</a> | ||
*(Object)*: Platform object containing browser name, version, and operating system. | ||
@@ -161,3 +173,3 @@ [▲][1] | ||
<!-- div --> | ||
### <a id="Benchmark.version" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1685" title="View in source">`Benchmark.version`</a> | ||
### <a id="Benchmark.version" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1729" title="View in source">`Benchmark.version`</a> | ||
*(String)*: The version number. | ||
@@ -168,3 +180,3 @@ [▲][1] | ||
<!-- div --> | ||
### <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 id="Benchmark.each" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L543" title="View in source">`Benchmark.each(array, callback)`</a> | ||
A generic bare-bones `Array#forEach` solution. | ||
@@ -183,3 +195,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#L516" title="View in source">`Benchmark.extend(destination [, source={}])`</a> | ||
### <a id="Benchmark.extend" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L563" title="View in source">`Benchmark.extend(destination [, source={}])`</a> | ||
Copies own/inherited properties of a source object to the destination object. | ||
@@ -197,3 +209,3 @@ [▲][1] | ||
<!-- div --> | ||
### <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 id="Benchmark.filter" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L594" title="View in source">`Benchmark.filter(array, callback)`</a> | ||
A generic bare-bones `Array#filter` solution. | ||
@@ -226,3 +238,3 @@ [▲][1] | ||
<!-- div --> | ||
### <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 id="Benchmark.forIn" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L624" title="View in source">`Benchmark.forIn(object, callback)`</a> | ||
A generic bare-bones for-in solution for an object's own properties. | ||
@@ -240,3 +252,3 @@ [▲][1] | ||
<!-- div --> | ||
### <a id="Benchmark.formatNumber" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L593" title="View in source">`Benchmark.formatNumber(number)`</a> | ||
### <a id="Benchmark.formatNumber" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L640" title="View in source">`Benchmark.formatNumber(number)`</a> | ||
Converts a number to a more readable comma-separated string representation. | ||
@@ -253,3 +265,3 @@ [▲][1] | ||
<!-- div --> | ||
### <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> | ||
### <a id="Benchmark.hasKey" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L653" title="View in source">`Benchmark.hasKey(object, key)`</a> | ||
Checks if an object has the specified key as a direct property. | ||
@@ -267,3 +279,3 @@ [▲][1] | ||
<!-- div --> | ||
### <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 id="Benchmark.indexOf" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L682" title="View in source">`Benchmark.indexOf(array, value)`</a> | ||
A generic bare-bones `Array#indexOf` solution. | ||
@@ -281,3 +293,3 @@ [▲][1] | ||
<!-- div --> | ||
### <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> | ||
### <a id="Benchmark.interpolate" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L828" title="View in source">`Benchmark.interpolate(string, object)`</a> | ||
Modify a string by replacing named tokens with matching object property values. | ||
@@ -301,3 +313,3 @@ [▲][1] | ||
<!-- div --> | ||
### <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> | ||
### <a id="Benchmark.invoke" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L731" title="View in source">`Benchmark.invoke(benches, name [, arg1, arg2, ...])`</a> | ||
Invokes a method on all items in an array. | ||
@@ -345,3 +357,3 @@ [▲][1] | ||
<!-- div --> | ||
### <a id="Benchmark.isArray" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L801" title="View in source">`Benchmark.isArray(value)`</a> | ||
### <a id="Benchmark.isArray" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L843" title="View in source">`Benchmark.isArray(value)`</a> | ||
Determines if the given value is an array. | ||
@@ -358,3 +370,3 @@ [▲][1] | ||
<!-- div --> | ||
### <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> | ||
### <a id="Benchmark.isClassOf" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L855" title="View in source">`Benchmark.isClassOf(object, name)`</a> | ||
Checks if an object is of the specified class. | ||
@@ -372,3 +384,3 @@ [▲][1] | ||
<!-- div --> | ||
### <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> | ||
### <a id="Benchmark.isHostType" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L869" title="View in source">`Benchmark.isHostType(object, property)`</a> | ||
Host objects can return type values that are different from their actual | ||
@@ -388,3 +400,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#L841" 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#L883" title="View in source">`Benchmark.join(object [, separator1=',', separator2=': '])`</a> | ||
Creates a string of joined array values or object key-value pairs. | ||
@@ -403,3 +415,3 @@ [▲][1] | ||
<!-- div --> | ||
### <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 id="Benchmark.map" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L905" title="View in source">`Benchmark.map(array, callback)`</a> | ||
A generic bare-bones `Array#map` solution. | ||
@@ -417,3 +429,3 @@ [▲][1] | ||
<!-- div --> | ||
### <a id="Benchmark.noop" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L875" title="View in source">`Benchmark.noop`</a> | ||
### <a id="Benchmark.noop" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L917" title="View in source">`Benchmark.noop`</a> | ||
A no-operation function. | ||
@@ -424,3 +436,3 @@ [▲][1] | ||
<!-- div --> | ||
### <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> | ||
### <a id="Benchmark.pluck" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L929" title="View in source">`Benchmark.pluck(array, property)`</a> | ||
Retrieves the value of a specified property from all items in an array. | ||
@@ -438,3 +450,3 @@ [▲][1] | ||
<!-- div --> | ||
### <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 id="Benchmark.reduce" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L944" title="View in source">`Benchmark.reduce(array, callback, accumulator)`</a> | ||
A generic bare-bones `Array#reduce` solution. | ||
@@ -453,3 +465,3 @@ [▲][1] | ||
<!-- div --> | ||
### <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 id="Benchmark.trim" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L958" title="View in source">`Benchmark.trim(string)`</a> | ||
A generic bare-bones `String#trim` solution. | ||
@@ -470,3 +482,3 @@ [▲][1] | ||
<!-- div --> | ||
### <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> | ||
### <a id="Benchmark:CYCLE_DELAY" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1798" title="View in source">`Benchmark#CYCLE_DELAY`</a> | ||
*(Number)*: The delay between test cycles *(secs)*. | ||
@@ -477,3 +489,3 @@ [▲][1] | ||
<!-- div --> | ||
### <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> | ||
### <a id="Benchmark:DEFAULT_ASYNC" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1805" title="View in source">`Benchmark#DEFAULT_ASYNC`</a> | ||
*(Boolean)*: A flag to indicate methods will run asynchronously by default. | ||
@@ -484,3 +496,3 @@ [▲][1] | ||
<!-- div --> | ||
### <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> | ||
### <a id="Benchmark:INIT_RUN_COUNT" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1812" 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. | ||
@@ -491,3 +503,3 @@ [▲][1] | ||
<!-- div --> | ||
### <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> | ||
### <a id="Benchmark:MAX_TIME_ELAPSED" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1819" title="View in source">`Benchmark#MAX_TIME_ELAPSED`</a> | ||
*(Number)*: The maximum time a benchmark is allowed to run before finishing *(secs)*. | ||
@@ -498,3 +510,3 @@ [▲][1] | ||
<!-- div --> | ||
### <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> | ||
### <a id="Benchmark:MIN_SAMPLE_SIZE" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1826" title="View in source">`Benchmark#MIN_SAMPLE_SIZE`</a> | ||
*(Number)*: The minimum sample size required to perform statistical analysis. | ||
@@ -505,3 +517,3 @@ [▲][1] | ||
<!-- div --> | ||
### <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> | ||
### <a id="Benchmark:MIN_TIME" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1833" title="View in source">`Benchmark#MIN_TIME`</a> | ||
*(Number)*: The time needed to reduce the percent uncertainty of measurement to `1`% *(secs)*. | ||
@@ -512,3 +524,3 @@ [▲][1] | ||
<!-- div --> | ||
### <a id="Benchmark:aborted" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1831" title="View in source">`Benchmark#aborted`</a> | ||
### <a id="Benchmark:aborted" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1875" title="View in source">`Benchmark#aborted`</a> | ||
*(Boolean)*: A flag to indicate if the benchmark is aborted. | ||
@@ -519,3 +531,3 @@ [▲][1] | ||
<!-- div --> | ||
### <a id="Benchmark:count" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1796" title="View in source">`Benchmark#count`</a> | ||
### <a id="Benchmark:count" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1840" title="View in source">`Benchmark#count`</a> | ||
*(Number)*: The number of times a test was executed. | ||
@@ -526,3 +538,3 @@ [▲][1] | ||
<!-- div --> | ||
### <a id="Benchmark:created" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1803" title="View in source">`Benchmark#created`</a> | ||
### <a id="Benchmark:created" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1847" title="View in source">`Benchmark#created`</a> | ||
*(Number)*: A timestamp of when the benchmark was created. | ||
@@ -533,3 +545,3 @@ [▲][1] | ||
<!-- div --> | ||
### <a id="Benchmark:cycles" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1810" title="View in source">`Benchmark#cycles`</a> | ||
### <a id="Benchmark:cycles" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1854" title="View in source">`Benchmark#cycles`</a> | ||
*(Number)*: The number of cycles performed while benchmarking. | ||
@@ -540,3 +552,3 @@ [▲][1] | ||
<!-- div --> | ||
### <a id="Benchmark:error" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1817" title="View in source">`Benchmark#error`</a> | ||
### <a id="Benchmark:error" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1861" title="View in source">`Benchmark#error`</a> | ||
*(Object|Null)*: The error object if the test failed. | ||
@@ -547,3 +559,3 @@ [▲][1] | ||
<!-- div --> | ||
### <a id="Benchmark:hz" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1824" title="View in source">`Benchmark#hz`</a> | ||
### <a id="Benchmark:hz" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1868" title="View in source">`Benchmark#hz`</a> | ||
*(Number)*: The number of executions per second. | ||
@@ -554,3 +566,3 @@ [▲][1] | ||
<!-- div --> | ||
### <a id="Benchmark:running" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1838" title="View in source">`Benchmark#running`</a> | ||
### <a id="Benchmark:running" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1882" title="View in source">`Benchmark#running`</a> | ||
*(Boolean)*: A flag to indicate if the benchmark is running. | ||
@@ -561,3 +573,3 @@ [▲][1] | ||
<!-- div --> | ||
### <a id="Benchmark:abort" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1154" title="View in source">`Benchmark#abort`</a> | ||
### <a id="Benchmark:abort" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1196" title="View in source">`Benchmark#abort`</a> | ||
Aborts the benchmark without recording times. | ||
@@ -571,3 +583,3 @@ [▲][1] | ||
<!-- div --> | ||
### <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> | ||
### <a id="Benchmark:addListener" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1107" title="View in source">`Benchmark#addListener(type, listener)`</a> | ||
Registers a single listener of a specified event type. | ||
@@ -592,3 +604,3 @@ [▲][1] | ||
<!-- div --> | ||
### <a id="Benchmark:clone" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1182" title="View in source">`Benchmark#clone(options)`</a> | ||
### <a id="Benchmark:clone" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1224" title="View in source">`Benchmark#clone(options)`</a> | ||
Creates a new benchmark using the same test and options. | ||
@@ -610,3 +622,3 @@ [▲][1] | ||
<!-- div --> | ||
### <a id="Benchmark:compare" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1200" title="View in source">`Benchmark#compare(other)`</a> | ||
### <a id="Benchmark:compare" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1242" title="View in source">`Benchmark#compare(other)`</a> | ||
Determines if the benchmark's period is smaller than another. | ||
@@ -623,3 +635,3 @@ [▲][1] | ||
<!-- div --> | ||
### <a id="Benchmark:emit" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1080" title="View in source">`Benchmark#emit(type)`</a> | ||
### <a id="Benchmark:emit" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1122" title="View in source">`Benchmark#emit(type)`</a> | ||
Executes all registered listeners of a specified event type. | ||
@@ -633,3 +645,3 @@ [▲][1] | ||
<!-- div --> | ||
### <a id="Benchmark:on" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1844" title="View in source">`Benchmark#on`</a> | ||
### <a id="Benchmark:on" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1888" title="View in source">`Benchmark#on`</a> | ||
Alias of [`Benchmark#addListener`](#Benchmark:addListener). | ||
@@ -640,3 +652,3 @@ [▲][1] | ||
<!-- div --> | ||
### <a id="Benchmark:removeAllListeners" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1137" title="View in source">`Benchmark#removeAllListeners(type)`</a> | ||
### <a id="Benchmark:removeAllListeners" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1179" title="View in source">`Benchmark#removeAllListeners(type)`</a> | ||
Unregisters all listeners of a specified event type. | ||
@@ -660,3 +672,3 @@ [▲][1] | ||
<!-- div --> | ||
### <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> | ||
### <a id="Benchmark:removeListener" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1152" title="View in source">`Benchmark#removeListener(type, listener)`</a> | ||
Unregisters a single listener of a specified event type. | ||
@@ -681,3 +693,3 @@ [▲][1] | ||
<!-- div --> | ||
### <a id="Benchmark:reset" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1220" title="View in source">`Benchmark#reset`</a> | ||
### <a id="Benchmark:reset" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1262" title="View in source">`Benchmark#reset`</a> | ||
Reset properties and abort if running. | ||
@@ -691,3 +703,3 @@ [▲][1] | ||
<!-- div --> | ||
### <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> | ||
### <a id="Benchmark:run" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1448" title="View in source">`Benchmark#run([async=false])`</a> | ||
Runs the benchmark. | ||
@@ -704,3 +716,34 @@ [▲][1] | ||
<!-- div --> | ||
### <a id="Benchmark:toString" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1262" title="View in source">`Benchmark#toString`</a> | ||
### <a id="Benchmark:setup" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1914" title="View in source">`Benchmark#setup`</a> | ||
Compiled into the test and executed immediately **before** the test loop. | ||
[▲][1] | ||
#### Example | ||
var bench = new Benchmark({ | ||
'fn': function() { | ||
a += 1; | ||
}, | ||
'setup': function() { | ||
// reset local var `a` at the beginning of each test cycle | ||
a = 0; | ||
} | ||
}); | ||
// compiles into something like: | ||
var a = 0; | ||
var start = new Date; | ||
while (count--) { | ||
a += 1; | ||
} | ||
var end = new Date - start; | ||
<!-- /div --> | ||
<!-- div --> | ||
### <a id="Benchmark:teardown" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1921" title="View in source">`Benchmark#teardown`</a> | ||
Compiled into the test and executed immediately **after** the test loop. | ||
[▲][1] | ||
<!-- /div --> | ||
<!-- div --> | ||
### <a id="Benchmark:toString" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1304" title="View in source">`Benchmark#toString`</a> | ||
Displays relevant benchmark information when coerced to a string. | ||
@@ -714,3 +757,3 @@ [▲][1] | ||
<!-- div --> | ||
### <a id="Benchmark:stats" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1851" title="View in source">`Benchmark#stats`</a> | ||
### <a id="Benchmark:stats" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1928" title="View in source">`Benchmark#stats`</a> | ||
*(Object)*: An object of stats including mean, margin or error, and standard deviation. | ||
@@ -721,3 +764,3 @@ [▲][1] | ||
<!-- div --> | ||
### <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> | ||
### <a id="Benchmark:stats.ME" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1935" title="View in source">`Benchmark#stats.ME`</a> | ||
*(Number)*: The margin of error. | ||
@@ -728,3 +771,3 @@ [▲][1] | ||
<!-- div --> | ||
### <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> | ||
### <a id="Benchmark:stats.RME" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1942" title="View in source">`Benchmark#stats.RME`</a> | ||
*(Number)*: The relative margin of error *(expressed as a percentage of the mean)*. | ||
@@ -735,3 +778,3 @@ [▲][1] | ||
<!-- div --> | ||
### <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> | ||
### <a id="Benchmark:stats.SEM" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1949" title="View in source">`Benchmark#stats.SEM`</a> | ||
*(Number)*: The standard error of the mean. | ||
@@ -742,3 +785,3 @@ [▲][1] | ||
<!-- div --> | ||
### <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> | ||
### <a id="Benchmark:stats.deviation" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1956" title="View in source">`Benchmark#stats.deviation`</a> | ||
*(Number)*: The sample standard deviation. | ||
@@ -749,3 +792,3 @@ [▲][1] | ||
<!-- div --> | ||
### <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> | ||
### <a id="Benchmark:stats.mean" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1963" title="View in source">`Benchmark#stats.mean`</a> | ||
*(Number)*: The sample arithmetic mean. | ||
@@ -756,3 +799,3 @@ [▲][1] | ||
<!-- div --> | ||
### <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> | ||
### <a id="Benchmark:stats.size" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1970" title="View in source">`Benchmark#stats.size`</a> | ||
*(Number)*: The sample size. | ||
@@ -763,3 +806,3 @@ [▲][1] | ||
<!-- div --> | ||
### <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> | ||
### <a id="Benchmark:stats.variance" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1977" title="View in source">`Benchmark#stats.variance`</a> | ||
*(Number)*: The sample variance. | ||
@@ -770,3 +813,3 @@ [▲][1] | ||
<!-- div --> | ||
### <a id="Benchmark:times" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1908" title="View in source">`Benchmark#times`</a> | ||
### <a id="Benchmark:times" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1985" title="View in source">`Benchmark#times`</a> | ||
*(Object)*: An object of timing data including cycle, elapsed, period, start, and stop. | ||
@@ -777,3 +820,3 @@ [▲][1] | ||
<!-- div --> | ||
### <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> | ||
### <a id="Benchmark:times.cycle" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1992" title="View in source">`Benchmark#times.cycle`</a> | ||
*(Number)*: The time taken to complete the last cycle *(secs)* | ||
@@ -784,3 +827,3 @@ [▲][1] | ||
<!-- div --> | ||
### <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> | ||
### <a id="Benchmark:times.elapsed" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1999" title="View in source">`Benchmark#times.elapsed`</a> | ||
*(Number)*: The time taken to complete the benchmark *(secs)*. | ||
@@ -791,3 +834,3 @@ [▲][1] | ||
<!-- div --> | ||
### <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> | ||
### <a id="Benchmark:times.period" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L2006" title="View in source">`Benchmark#times.period`</a> | ||
*(Number)*: The time taken to execute the test once *(secs)*. | ||
@@ -798,3 +841,3 @@ [▲][1] | ||
<!-- div --> | ||
### <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> | ||
### <a id="Benchmark:times.start" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L2013" title="View in source">`Benchmark#times.start`</a> | ||
*(Number)*: A timestamp of when the benchmark started *(ms)*. | ||
@@ -805,3 +848,3 @@ [▲][1] | ||
<!-- div --> | ||
### <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> | ||
### <a id="Benchmark:times.stop" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L2020" title="View in source">`Benchmark#times.stop`</a> | ||
*(Number)*: A timestamp of when the benchmark finished *(ms)*. | ||
@@ -816,3 +859,3 @@ [▲][1] | ||
<!-- div --> | ||
### <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> | ||
### <a id="Benchmark.Suite" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L189" title="View in source">`Benchmark.Suite(name [, options={}])`</a> | ||
Suite constructor. | ||
@@ -860,3 +903,3 @@ [▲][1] | ||
<!-- div --> | ||
### <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> | ||
### <a id="Benchmark.Suite:aborted" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L2067" title="View in source">`Benchmark.Suite#aborted`</a> | ||
*(Boolean)*: A flag to indicate if the suite is aborted. | ||
@@ -867,3 +910,3 @@ [▲][1] | ||
<!-- div --> | ||
### <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> | ||
### <a id="Benchmark.Suite:length" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L2060" title="View in source">`Benchmark.Suite#length`</a> | ||
*(Number)*: The number of benchmarks in the suite. | ||
@@ -874,3 +917,3 @@ [▲][1] | ||
<!-- div --> | ||
### <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> | ||
### <a id="Benchmark.Suite:running" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L2074" title="View in source">`Benchmark.Suite#running`</a> | ||
*(Boolean)*: A flag to indicate if the suite is running. | ||
@@ -881,3 +924,3 @@ [▲][1] | ||
<!-- div --> | ||
### <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> | ||
### <a id="Benchmark.Suite:abort" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L970" title="View in source">`Benchmark.Suite#abortSuite`</a> | ||
Aborts all benchmarks in the suite. | ||
@@ -891,3 +934,3 @@ [▲][1] | ||
<!-- div --> | ||
### <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> | ||
### <a id="Benchmark.Suite:add" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1000" title="View in source">`Benchmark.Suite#add(name, fn [, options={}])`</a> | ||
Adds a test to the benchmark suite. | ||
@@ -919,3 +962,3 @@ [▲][1] | ||
<!-- div --> | ||
### <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> | ||
### <a id="Benchmark.Suite:addListener" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1107" title="View in source">`Benchmark.Suite#addListener(type, listener)`</a> | ||
Registers a single listener of a specified event type. | ||
@@ -940,3 +983,3 @@ [▲][1] | ||
<!-- div --> | ||
### <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> | ||
### <a id="Benchmark.Suite:clone" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1017" title="View in source">`Benchmark.Suite#cloneSuite(options)`</a> | ||
Creates a new suite with cloned benchmarks. | ||
@@ -953,3 +996,3 @@ [▲][1] | ||
<!-- div --> | ||
### <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 id="Benchmark.Suite:each" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L2083" title="View in source">`Benchmark.Suite#each(callback)`</a> | ||
A bare-bones `Array#forEach` solution. | ||
@@ -967,3 +1010,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#L1080" 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#L1122" title="View in source">`Benchmark.Suite#emit(type)`</a> | ||
Executes all registered listeners of a specified event type. | ||
@@ -977,3 +1020,3 @@ [▲][1] | ||
<!-- div --> | ||
### <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 id="Benchmark.Suite:filter" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1036" title="View in source">`Benchmark.Suite#filterSuite(callback)`</a> | ||
A bare-bones `Array#filter` solution. | ||
@@ -990,3 +1033,3 @@ [▲][1] | ||
<!-- div --> | ||
### <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 id="Benchmark.Suite:indexOf" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L2091" title="View in source">`Benchmark.Suite#indexOf(value)`</a> | ||
A bare-bones `Array#indexOf` solution. | ||
@@ -1003,3 +1046,3 @@ [▲][1] | ||
<!-- div --> | ||
### <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> | ||
### <a id="Benchmark.Suite:invoke" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L2100" title="View in source">`Benchmark.Suite#invoke(name [, arg1, arg2, ...])`</a> | ||
Invokes a method on all benchmarks in the suite. | ||
@@ -1017,3 +1060,3 @@ [▲][1] | ||
<!-- div --> | ||
### <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 id="Benchmark.Suite:map" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L2108" title="View in source">`Benchmark.Suite#map(callback)`</a> | ||
A bare-bones `Array#map` solution. | ||
@@ -1030,3 +1073,3 @@ [▲][1] | ||
<!-- div --> | ||
### <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> | ||
### <a id="Benchmark.Suite:on" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1888" title="View in source">`Benchmark.Suite#on`</a> | ||
Alias of [`Benchmark#addListener`](#Benchmark:addListener). | ||
@@ -1037,3 +1080,3 @@ [▲][1] | ||
<!-- div --> | ||
### <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> | ||
### <a id="Benchmark.Suite:pluck" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L2116" title="View in source">`Benchmark.Suite#pluck(property)`</a> | ||
Retrieves the value of a specified property from all benchmarks in the suite. | ||
@@ -1050,3 +1093,3 @@ [▲][1] | ||
<!-- div --> | ||
### <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 id="Benchmark.Suite:reduce" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L2125" title="View in source">`Benchmark.Suite#reduce(callback, accumulator)`</a> | ||
A bare-bones `Array#reduce` solution. | ||
@@ -1064,3 +1107,3 @@ [▲][1] | ||
<!-- div --> | ||
### <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> | ||
### <a id="Benchmark.Suite:removeAllListeners" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1179" title="View in source">`Benchmark.Suite#removeAllListeners(type)`</a> | ||
Unregisters all listeners of a specified event type. | ||
@@ -1084,3 +1127,3 @@ [▲][1] | ||
<!-- div --> | ||
### <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> | ||
### <a id="Benchmark.Suite:removeListener" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1152" title="View in source">`Benchmark.Suite#removeListener(type, listener)`</a> | ||
Unregisters a single listener of a specified event type. | ||
@@ -1105,3 +1148,3 @@ [▲][1] | ||
<!-- div --> | ||
### <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> | ||
### <a id="Benchmark.Suite:reset" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1050" title="View in source">`Benchmark.Suite#resetSuite`</a> | ||
Resets all benchmarks in the suite. | ||
@@ -1115,3 +1158,3 @@ [▲][1] | ||
<!-- div --> | ||
### <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> | ||
### <a id="Benchmark.Suite:run" href="https://github.com/mathiasbynens/benchmark.js/blob/master/benchmark.js#L1066" title="View in source">`Benchmark.Suite#runSuite([async=false, queued=false])`</a> | ||
Runs the suite. | ||
@@ -1118,0 +1161,0 @@ [▲][1] |
@@ -0,0 +0,0 @@ Copyright Mathias Bynens <http://mathiasbynens.be/> |
{ | ||
"name": "benchmark", | ||
"version": "0.1.346", | ||
"version": "0.1.347", | ||
"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/", |
@@ -74,2 +74,10 @@ module("Benchmark.platform"); | ||
'Android Browser (like Chrome 2.x) on Android 2.1': { | ||
'ua': 'Mozilla/5.0 (Linux; U; Android 2.1-update1; en-us; Sprint APA9292KT Build/ERE27) AppleWebKit/530.17 (KHTML, like Gecko)' | ||
}, | ||
'Android Browser 3.0.4 (like Chrome 1.x) on Xoom (Android 3.0)': { | ||
'ua': 'Mozilla/5.0 (Linux; U; Android 3.0; xx-xx; Xoom Build/HRI39) AppleWebKit/525.10+ (KHTML, like Gecko) Version/3.0.4 Mobile Safari/523.12.2' | ||
}, | ||
'Android Browser 3.1.2 (like Chrome 1.x) on Android 1.6': { | ||
@@ -79,6 +87,2 @@ 'ua': 'Mozilla/5.0 (Linux; U; Android 1.6; en-us; HTC_TATTOO_A3288 Build/DRC79) AppleWebKit/528.5+ (KHTML, like Gecko) Version/3.1.2 Mobile Safari/525.20.1' | ||
'Android Browser (like Chrome 2.x) on Android 2.1': { | ||
'ua': 'Mozilla/5.0 (Linux; U; Android 2.1-update1; en-us; Sprint APA9292KT Build/ERE27) AppleWebKit/530.17 (KHTML, like Gecko)' | ||
}, | ||
'Android Browser 4.0 (like Chrome 5.x) on Android 2.2': { | ||
@@ -149,2 +153,6 @@ 'ua': 'Mozilla/5.0 (Linux; U; Android 2.2; zh-cn;) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1' | ||
'Chrome 10.0.648.133 on Windows XP': { | ||
'ua': 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.133 Safari/534.16' | ||
}, | ||
'Epiphany 0.9.2 on Linux i686': { | ||
@@ -285,3 +293,3 @@ 'ua': 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030908 Epiphany/0.9.2' | ||
'IE 8.0 on Windows XP': { | ||
'ua': 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; chromeframe)', | ||
'ua': 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; chromeframe/10.0.648.133; chromeframe)', | ||
'mode': 8 | ||
@@ -643,3 +651,3 @@ }, | ||
'Safari 4.0 on iPhone (iOS 3.1.3)': { | ||
'ua': 'Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_1_3 like Mac OS X; en-us) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7E18 Safari/528.16' | ||
'ua': 'Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_1_3 like Mac OS X; en-us) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7E18 Safari/528.16 Cydia/1.0.3201-71' | ||
}, | ||
@@ -646,0 +654,0 @@ |
Uses eval
Supply chain riskPackage uses dynamic code execution (e.g., eval()), which is a dangerous practice. This can prevent the code from running in certain environments and increases the risk that the code may contain exploits or malicious behavior.
Found 1 instance in 1 package
149012
2843
0
11