I read a
topic about super-productive javascript .
From my point of view, the article / translation / crossposting does not hold water. Not only that the author wrote a gag, but also distorted the essence.
The author gives a link
to http://ejohn.org/blog/tracemonkey/ , in fact, the link should go to
http://weblogs.mozillazine.org/roadmap/archives/2008/08/tracemonkey_javascript_lightsp.htm l
If you have nothing to do at all, look here:
http://www.ics.uci.edu/~franz/Site/pubs-pdf/ICS-TR-06-16.pdfIf someone read
a dragon book or is a little familiar with optimization methods when compiling code, then he will understand everything at once. The key paragraph of 10 lines I prokopipastila.
This engine uses the method of adding its own code in real time to accelerate the compilation in SpiderMonkey of a new method of translating bytecode to native code on the fly.This is not true. Actually, this is what is written:
')
* Function Inlining: Removing the overhead of function calls by simply replacing it.
* Type Inference: Removing checks for common operators (like "+"). It sees the "+" operator.
* Looping: The overhead of looping has been grossly diminished. There is a need to make a list of the most common areas of the junction.
If it's interesting, I can open Aho's book in the evening, remember the past and paint humanly what it is about.
In a nutshell: “monkey” optimizes cycles, calling functions, including inside cycles, working with strings.
Working with strings and loops is a subtle place for any compiler.
PS
If I am also mistaken, as well as the author of the topic being criticized, I ask you to point out errors.
Thank.
Pps
Let's not arrange a market, and discuss the problem.