Ember Performance


#1

We’ve been investigating some performance issues on pages using a 3rd party addon (ember-light-table), using the “Performance” tools in Chrome Dev Tools.

What we noticed is that the JS Heap, Nodes, and Listeners keep climbing and never comes down as one move between pages. I thought this might be a problem with the component, but since my Ember experience is still a bit limited, I went and easier route and created a few routes that simply get the data and then render in the view a normal table with the data (goes without saying, very fast)

However, I noticed the heap/nodes/listeners still climb and never come down, albeit not as many of each as with the component (probably because it create a lot of dom elements by itself)

Is this supposed to be like this in Ember? Aren’t nodes, etc suppose to be released when not being used anymore?


#2

Are you continuously loading new models via ember-data? All that stuff get’s cached on the client side so your memory usage will continue to go up.

However, nodes/listeners should climb/fall as you navigate around your app and render different stuff.

The most common thing I have run into is some random jquery plugin or ember addon is not properly destroyed when a component is removed from the dom.


#3

I just noticed your reply @nerdyworm, sorry.

This was all my mistake. I rendered a component in one of my column definititions which in turn initialized a jquery plugin. Meaning if 10 columns, 100 rows, 10000 times the jquery plugin got initialized. Totally my stupidity