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(); |