Reputation: 14863
How time-intensive is the use of try
/catch
in JavaScript? I have an application and I am using it in a function which is called a few hundred times. Now I am afraid, that the try
/catch
statement is taking too much time and the application will take a lot longer than without it.
Upvotes: 15
Views: 7927
Reputation: 497
You should take note of the following:
“The First Rule of Program Optimization: Don't do it. The Second Rule of Program Optimization (for experts only!): Don't do it yet.” - Michael A. Jackson
I've wasted time optimising sections of code that had little impact on performance. Make sure you know what is slow by running some timing experiments.
Upvotes: 7
Reputation: 16861
There are some nice tests on jsPref:
Conclusion: on the major browser, null to minimal differences.
Upvotes: 12
Reputation: 15018
In general, code executed inside a try
block is expensive. But if you are invoking a try
block on the order of a few hundred times, it's probably not an issue. If it were a few hundred thousand, you may want to re-think your design.
Upvotes: 1
Reputation: 80011
The try
/catch
clause creates a new scope in javascript, so every variable that has to come from the parent scope will be slightly slower.
The overhead isn't that great but too large to completely ignore for your inner loops.
Take a look at this video for a more in-depth explanation: http://www.youtube.com/watch?v=mHtdZgou0qU
Upvotes: 2