Thanks for your answer.
What i am trying to say is that , the twiddle is doing what is expected from ember. But that there is no good way to do what the store “.filter” feature was doing any more.
My performance issue is not that much about the filter, (which is expected to be re-computed every-time there is a new object), but all the subsequent computed property (in this case the sorting). In my app I am doing sorting + rendering of a component for each element in my array.
and because of the current behavior, all my components get re-rendered every-time I add an element to the store even if the filter, filter them out.
Versus using the store().filter feature, was only recomputing the sort and the re-render only when a new element pass the filter condition and not at every element added to the store…
For now the only way that I found to avoid that thrashing is to have an observer on the peekAll, that do the filter and then only update an array if it detect a new object (or one that got removed) and that pass the filter condition.
But this seems like an anti-pattern in ember.
Any recommended solution in ember?