Skip to content

Instantly share code, notes, and snippets.

@braydonf
Created December 8, 2014 17:39
Show Gist options
  • Save braydonf/f5ac24781a04c9ba023c to your computer and use it in GitHub Desktop.
Save braydonf/f5ac24781a04c9ba023c to your computer and use it in GitHub Desktop.
performance test
'use strict';
var interations = 10000000;
console.log('\n\n','Running ', interations, ' interations for each:');
console.log(' ===================================================', '\n');
var throwAnError = function(){
throw new Error('Ooops...');
};
var returnAnError = function(){
return new Error('Ooops...');
};
var returnAString = function(){
return 'Ooops...';
};
var returnANumber = function(){
return 30000;
};
var returnAnObject = function(){
return {value: true};
};
var returnANewObject = function(){
return new Object().value = true;
};
var before = new Date().getTime();
for (var i = 0;i<interations;i++){
try {
throwAnError();
} catch(e) {
var error = e;
}
}
var after = new Date().getTime();
console.log(' Try/Catch Error:', '\t\t', (after-before)/1000, ' seconds');
var before = new Date().getTime();
for (var i = 0;i<interations;i++){
var error = returnAnError();
}
var after = new Date().getTime();
console.log(' Return Error:', '\t\t\t', (after-before)/1000, ' seconds');
console.log(' Return Error:', '\t\t\t', (after-before)/1000, ' seconds');
var before = new Date().getTime();
for (var i = 0;i<interations;i++){
var error = returnAString();
}
var after = new Date().getTime();
console.log(' Return a String:', '\t\t', (after-before)/1000, ' seconds');
var before = new Date().getTime();
for (var i = 0;i<interations;i++){
var error = returnANumber();
}
var after = new Date().getTime();
console.log(' Return a Number:', '\t\t', (after-before)/1000, ' seconds');
var before = new Date().getTime();
for (var i = 0;i<interations;i++){
var error = returnAnObject();
}
var after = new Date().getTime();
console.log(' Return an Object:', '\t\t', (after-before)/1000, ' seconds');
var before = new Date().getTime();
for (var i = 0;i<interations;i++){
var error = returnANewObject();
}
var after = new Date().getTime();
console.log(' Return a new Object:', '\t\t', (after-before)/1000, ' seconds');
var before = new Date().getTime();
for (var i = 0;i<interations;i++){
try {
var error = returnANewObject();
} catch(e){
throw e;
}
}
var after = new Date().getTime();
console.log(' Try/Catch a new Object:', '\t', (after-before)/1000, ' seconds', '\n\n');
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment