JSFiddle - React, Tailwind, and code Playground
by dexygen
JavaScript
(function() {
var itersDefault = 0,
itersExtend = 0,
elapsed = 0,
elapsedDefault = 0,
elapsedExtend = 0,
randomBit,
options,
now,
timeAfterFns = [timeAfterDefault, timeAfterExtend];
for (var i=0; i<200000; i++) {
randomBit = (Math.floor(Math.random() * 2));
randomBit ? itersExtend++ : itersDefault++;
options = undefined;
now = (new Date().getTime());
elapsed = timeAfterFns[randomBit]() - now;
randomBit ? elapsedExtend += elapsed : elapsedDefault += elapsed;
}
console.log('default');
console.log('iters: ' + itersDefault);
console.log('elapsed (total): ' + elapsedDefault);
console.log('elasped (avg): ' + elapsedDefault/itersDefault);
console.log('');
console.log('extend');
console.log('iters: ' + itersExtend);
console.log('elapsed (total): ' + elapsedExtend);
console.log('elapsed (avg): ' + elapsedExtend/itersExtend);
function timeAfterDefault() {
options = _.defaults(options || {}, {debounceTimeout: 1000});
return (new Date()).getTime();
}
function timeAfterExtend() {
options = _.extend({debounceTimeout: 1000}, options || {});
return (new Date()).getTime();
}
})();