5 ms·
Speaking as someone tuning a JS game, I focus on V8 over other engines because there are great articles around that explain in detail what v8 knows how to optim
by fenomas 11y ago
Speaking as someone tuning a JS game, I focus on V8 over other engines because there are great articles around that explain in detail what v8 knows how to optimize, what causes functions to deopt, what kicks object property lookups into slow mode, etc. Articles explaining this for SpiderMonkey would be greatly appreciated!
- joe_developer 11y agoCould you recommend a few articles?
- fenomas 11y agoOn v8 right? This one is probably the best broad overview: http://www.html5rocks.com/en/tutorials/speed/v8/ http://www.html5rocks.com/en/tutorials/speed/v8/ To get into the gory details google Vyacheslav Egorov - he's a v8 engineer with a number of talks on YouTube, presentation slides, and blog posts on v8 internals. He also maintains a tool called IRhydra, that lets you examine functions after they've been compiled into v8's internal representation.
- VerGreeneyes 11y agoFWIW, people in Mozilla are working on a "JIT coach", which will tell you if performance critical sections of your code aren't getting JITed, and why. I believe this is almost ready for use, though I'm not sure when it will be presented.
- fenomas 11y agoSounds analogous to the way the chrome profiler tells you when functions have permanently deoptimized, right? That would be a terrific feature for Firefox, looking forward to it!