This morning we upgraded Discourse from Ember 1.7.1 to Ember 1.8.1. The best news involved here is it means that there are no longer metamorphs in our code! Also, we are on track to support the future upgrades to Ember including HTMLBars, which is close to landing in beta.
Unfortunately, there are some performance regressions in Ember 1.8.1. The Ember core team is aware of them and are working on reducing them as time goes on. Many are the result of backwards compatibility between HTMLBars and Handlebars.
This post is meant to catalog some of the different performance characteristics, using the ember performance suite that we created.
The following are preliminary results; we're still going to tune the ember performance suite and eventually provide better statistics:
overall (all platforms):
render list: 236ms -> 243ms (3% slower)
render unbound: 143ms -> 205ms (31% slower)
render complex: 602ms -> 715ms (18% slower)
chrome (desktop):
render list: 369ms -> 316ms (16% faster)
render unbound: 217ms -> 298ms (37% slower)
render complex: 647ms -> 681ms (5% slower)
chrome (android):
render list: 376ms -> 434ms (15% slower)
render unbound: 192ms -> 191ms (no diff)
render complex: 1440ms -> 1725ms (16% slower)
safari (desktop):
render list: 21ms -> 24ms (14% slower)
render unbound: 33ms -> 37ms (11% slower)
render complex: 120ms -> 143ms (19% slower)
safari (mobile):
render list: 136ms -> 189ms (29% slower)
render unbound: 73ms -> 97ms (32% slower)
render complex: 403ms -> 509ms (20% slower)