41 lines
1.4 KiB
JavaScript
41 lines
1.4 KiB
JavaScript
'use strict';
|
|
var oN = require('./O(n)');
|
|
var es6Repeat = require('./es6Repeat');
|
|
var current = require('../');
|
|
|
|
var Benchmark = require('benchmark');
|
|
|
|
var str = "abcd"
|
|
var len = 100;
|
|
|
|
function buildSuite (note, fns, args) {
|
|
console.log(note);
|
|
var suite = new Benchmark.Suite;
|
|
|
|
Object.keys(fns).forEach(function (name) {
|
|
suite.add(name, function () {
|
|
fns[name].apply(null, args);
|
|
});
|
|
});
|
|
suite.on('cycle', function (event) {
|
|
console.log(String(event.target));
|
|
}).on('complete', function () {
|
|
console.log('Fastest is ' + this.filter('fastest').map('name'));
|
|
});
|
|
|
|
return suite;
|
|
}
|
|
|
|
var fns = {
|
|
'O(n)': oN,
|
|
'ES6 Repeat': es6Repeat,
|
|
'Current': current
|
|
};
|
|
|
|
buildSuite('-> pad 100 spaces to str of len 4', fns, ['abcd', 104, ' ']).run();
|
|
buildSuite('-> pad 10 spaces to str of len 4', fns, ['abcd', 14, ' ']).run();
|
|
buildSuite('-> pad 9 spaces to str of len 4', fns, ['abcd', 13, ' ']).run();
|
|
buildSuite('-> pad 100 to str of len 100', fns, ['0012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789123456789', 200, ' ']).run();
|
|
buildSuite('-> pad 10 to str of len 100', fns, ['0012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789123456789', 110, ' ']).run();
|
|
buildSuite('-> pad 9 to str of len 100', fns, ['0012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789123456789', 109, ' ']).run();
|