Does Javascript (ecmascript5) Strict Mode Offer Significant Performance Advantages To Merit Widespread Use?
Solution 1:
Well, strict mode code can certainly perform better because it removes issues that made optimization harder, for example, from the top of my head:
- The
with
statement was removed (Really difficult -if not impossible- to optimize). - No more undeclared assignments, and other prohibitions, e.g. (
delete varName;
) eval
does not introduce variable/function declarations into the local scope.arguments.callee
was removed, (difficult to optimize (e.g. function inlining))- The
arguments
object index named properties are not anymore dynamically mapped to the named formal parameters.
Solution 2:
I think the reasons to use it were spelled out well by John Resig, http://ejohn.org/blog/ecmascript-5-strict-mode-json-and-more/, and it appears Firefox will be supporting it, http://whereswalden.com/2010/09/08/new-es5-strict-mode-support-now-with-poison-pills/, so it may be useful to look at, at least for libraries.
But, basically, it is to help prevent some common programming errors, but for some people losing the eval
may be reason not to use it, and for me not having unnamed anonymous functions will be difficult, but, anything that can help reduce errors may be worthwhile.
Solution 3:
I don't know if the performance would be worthy it, but I guess your results may vary. I suppose it depends on your script. But that doesn't mean to be the main point, but reducing your time in maintaining your code. So anything that makes save you time (and money) maintaining your code, and makes it faster, is golden.
I have been corrected, and, sadly, it doesn't include strong typing. Many years were spent by researchers to enforce typing to detect errors at compile time, and now we have to trust we are code is good, or verify it by hand or unit testing. IMHO, the time spent in unit testing is usually scarce in many places, and it should not be spent on things that could be done by the compiler.
Post a Comment for "Does Javascript (ecmascript5) Strict Mode Offer Significant Performance Advantages To Merit Widespread Use?"