While looking at some benchmarks I'm evaluating Speedometer again. (not sure it is a very good benchmark, seems to focus on one particular case and testing how different frameworks deal with that, but we're quite slow with it anyhow). http://mozilla.pettay.fi/moztests/Speedometer.tar.bz2 is from https://github.com/WebKit/webkit/tree/master/PerformanceTests/Speedometer but I modified the InteractiveRunner.html to make profiling a bit easier. So, using InteractiveRunner.html, check EmberJS-TodoMVC and click run. In Zoom I see most of the time spent in JS, and that is also that Gecko profiler tells. Also BackboneJS-TodoMVC seems to spend most of the time in JS, and AngularJS-TodoMVC, and AngularJS-TodoMVC. And React-TodoMVC is based on Gecko profiler also largely JS. I see quite a bit IonBuilder calls there. Could someone more familiar with JS engine and JIT look at the test.
s/and AngularJS-TodoMVC, and AngularJS-TodoMVC/and AngularJS-TodoMVC/ (jQuery test has at least some parsing stuff showing up in the profile, and VanillaJS-TodoMVC, and also FlightJS-TodoMVC, although it is mostly JS, )
Could someone from JS team look at this. Recently I've seen JS to take lots of time in benchmarks which try to be realistic, like Speedometer. (Note, the test just tries that, but totally is not realistic.)
In profiles of these benchmarks I see the usual suspects: CrossCompartmentWrapper stuff, IC misses, and some non-trivial mprotect overhead when attaching Ion IC stubs. I've some serious IC redesign work planned for the coming weeks/months (starting with bug 1255352), hopefully that will make our ICs more robust and allow us to optimize more cases. Added this to my perf TODO list, clearing the needinfo for now.
jandem, any news on this?
(In reply to Olli Pettay [:smaug] from comment #4) > jandem, any news on this? Not yet. Right now I'm working on modernizing our exception handling and the JSContext/JSRuntime unification. I hope to continue working on CacheIR and other IC work soon though.
(Just CCing some folks from bug 1241091, there might be something in common here, given that Speedometer tests various JS frameworks)
Using Nightly 53 (20161217) on desktop this site stays in a loop. In Android Nightly it stalls and eventually pulls up "Warning: Unresponsive script.. Script: https://browserbench.org/Speedo...ower_components/react/react.js:7174"
At least EmberJS seems to spend some time in the interpreter and fun_apply.
5 months ago
4 months ago
3 months ago
Been regularly testing speed on 2008 model laptop running Arch Linux. * January on Browserbench 'Speedometer' I was maxing out at 10 runs per minute. * Test [on Mozilla/5.0 (X11; Linux x86_64; rv:55.0) Gecko/20100101 Firefox/55.0 ID:20170515100238 CSet: e66dedabe582ba7b394aee4f89ed70fe389b3c46] is now running at 23.1 runs per minute. 131% speed improvement on the January test. Keep up the amazing work folks!