3 ms·
It's an unfair zinger from what I've read. TraceMonkey may have been in development at Mozilla for 2 months, but significant portions of it came from Adobe and
by DocSavage 18y ago
It's an unfair zinger from what I've read. TraceMonkey may have been in development at Mozilla for 2 months, but significant portions of it came from Adobe and their Tamarin Tracing team. You can't dismiss the development time of the nanojit contribution just for hyperbole's sake. When I saw John Resig, who I very much respect for his work on javascript, make that statement, I realized there's a PR war going on here.
This was a cool article on TraceMonkey development:
http://andreasgal.com/2008/08/22/tracing-the-web/ http://andreasgal.com/2008/08/22/tracing-the-web/
- andreyf 18y agoI realized there's a PR war going on here. This blog post is definitely emotional, and that's a very good things. Great technologies come out of emotion-driven work.
- andreyf 18y agoIt would appear that TraceMonkey does optimization differently, and they both have a long way to go: Here is what feng (@chromium.org) said on the v8-users list: V8 has a simple compiler that generates dummy code ;-), there are a lot of rooms to improve from traditional compiler optimization perspective. It does not even have a register allocator. What V8 focuses on is the bottleneck of JavaScript: property lookups. You can read papers about inline caches (small-talk, Java, etc). Some background in GC is helpful too, currently V8 has a generational GC. From I knew, TraceMonkey is quite different, it does speculative optimizations, which is a very interesting subject of VM and compiler development/research. It requires a interpreter/dummy compiler to fallback when speculation goes wrong. In some sense, both does runtime speculation, but inline cache patches the code if it speculates wrong, and trace jit falls back to safe solution.
- jeresig 18y agoI definitely didn't intend for it to be that way - only so much as that V8 is the result of a long two years of dedicated work by a team of very smart people who produced an excellent result. Theoretically they reached a point at which they were happy with a solid release. The Mozilla team is only just getting started on building tracing into Firefox. It's not done yet and it's still quite slow (in comparison to what the final result will be). I wasn't trying to say anything silly like "oh wow, they're such slow coders!" more that the equivalent amount of work is only just beginning on the other end. Obviously if you wanted to include all technologies involved in TraceMonkey then you might as well say "TraceMonkey, 10 years in the making" since the vast majority of the code comes from SpiderMonkey which has been around for quite some time.