Skip to content

Instantly share code, notes, and snippets.

@braydonf
Last active August 29, 2015 14:11
Show Gist options
  • Save braydonf/332a301970060f8616d9 to your computer and use it in GitHub Desktop.
Save braydonf/332a301970060f8616d9 to your computer and use it in GitHub Desktop.
test types
Running 10000000 interations for each:
===================================================
Try/Catch Error: 34.292 seconds
Return Error: 32.326 seconds
Return a String: 0.075 seconds
Return a Number: 0.056 seconds
Return an Object: 0.076 seconds
Return a new Object: 0.263 seconds
Try/Catch a new Object: 0.274 seconds
====================
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