Try/Catch Cost In a Loop

JavaScript performance comparison

Test case created by Jackson Gabbard

Preparation code


      
      <script>
Benchmark.prototype.setup = function() {
  var obj = { a : 1, b : 2, c : 3, d : 4, e : 5 };

};
</script>

Test runner

Warning! For accurate results, please disable Firebug before running the tests. (Why?)

Java applet disabled.

Testing in CCBot 2.0.0 / Other 0.0.0
Test Ops/sec
Vanilla iteration
var blah = '';
for (var prop in obj) {
  blah += obj[prop];
}
pending…
Iteration with internal try/catch
var blah = '';
for (var prop in obj) {
  try {
    blah += obj[prop];
  } catch (e) {
    console.log(' ');
  }
}
pending…

Compare results of other browsers

Revisions

You can edit these tests or add even more tests to this page by appending /edit to the URL.

1 Comment

Neil Whitaker commented :

I was curious to see how a try-catch outside the loop would compare, so I added a third test. In my version of Chrome, it was surprisingly close to the try-catch in the loop. It may be the performance difference is due to compiler optimizations that are lost in a try-catch scenario.