My team and I are currently working on a second Ember application and I’m starting to get worried by our (and/or Ember’s) memory consumption. Our previous project (using 0.9.8) didn’t end very well because of that (our users are mainly using IE 8/9 and our app basically becomes unusable because of RAM consumption after 1 hour). Of course we tried to profile our code using Chrome Dev Tools but we were unable to find obvious leaks… So you may understand why I’m being cautious about that issue right now
When you compare memory consumption of the various TodoMVC implementations using Chrome Dev Tools snapshots, you can see that Ember’s one is the worst (~ 15 MB after adding some todos, vs ~ 9 MB for Angular or CanJS). Try to browse a few topics on Discourse, and suddenly 20 more MB are gone… Of course Chrome eventually manages to garbage collect, but Firefox and IE seem to be less lucky…
Be assured that I really love working with Ember, I love the concepts and it makes me infinitely more productive, but I’d appreciate to get core team members point of view about memory consumption :
- Do you think Ember’s memory consumption is an actual problem or do you think that it’s normal for an advanced framework ? To put it differently, is that memory consumption the result of a tradeoff between ease of use/productivity and hardware resources usage ?
- Is that memory consumption the result of a technical tradeoff (i.e. CPU vs RAM, potentially related to the choice of change listeners against dirty checking) ?
- If you think it’s a problem, do you plan to work on it before 1.0 release ?
- Are you aware of bad practices that could result in an abnormal memory consumption ?
- Is IE/low-end hardware support one of your goal or do you think that Ember and Single-page-apps in general should only be used if you are sure that your users have modern browsers and plenty of RAM ?
PS : as you may have guessed, english is not my primary language, sorry for that