You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Oct 16, 2021. It is now read-only.
raycohen edited this page Nov 30, 2011
·
4 revisions
Try/Catch blocks can be expensive inside functions
If you have a function that has performance critical code in it (particularly if it's allocating a lot of variables), then don't use a try/catch inside the function. Catch the errors from outside the function instead.
function test1(j) {
try{
var s = 0;
for (var i = 0; i < j; i++) s = i;
for (var i = 0; i < j; i++) s = i;
for (var i = 0; i < j; i++) s = i;
for (var i = 0; i < j; i++) s = i;
return s;
}
catch(ex) {
console.log(ex);
}
}
// Slow!
test1(1000000);
function test2(j) {
var s = 0;
for (var i = 0; i < j; i++) s = i;
for (var i = 0; i < j; i++) s = i;
for (var i = 0; i < j; i++) s = i;
for (var i = 0; i < j; i++) s = i;
return s;
}
// Much faster
try {
test2(1000000);
} catch(ex) {
console.log(ex);
}