ArrayComputed since Ember 2.x

Hi,

I just tried to upgrade a very big project from Ember 1.13 to Ember 2.0.3 (yeah just now :frowning:) To my horror I found out that the behavior of Ember.computed.map for example changed, and is now recalculating for every change to the observed array, and also returns a new array!

Later I found out the release note for that:

ReduceComputed and ArrayComputed have been made obsolete by the Glimmer rendering engine introduced in Ember 1.13. These APIs allowed array operations to be performed without creating new arrays. Glimmer’s value diffing makes this unnecessary. Computed property macros that operate on arrays are still present, but they are simply not backed by ReduceComputed .

In out application we relied heavily on computed.map’s not recalculating on every change. This resulted in a major performance hit for us, as sometimes the ‘map’ function is pretty heavy.

Is there a solution? Maybe a legacy addon for adding back this functionality?

I think this addon may bring back the semantics you want?

Also just so you’re aware, performance increased radically throughout the early 2.x series. So as long as you’ve already gotten past the deprecations, you may want to keep upgrading before spending a lot of time diagnosing performance issues. (This is separate from your original question, because I’m talking about rendering performance mostly, but it could confuse matters if you’re trying to profile things.)

Thanks! Yes I was hoping for a performance improment due to rendering, but as you said, my case here is about business logic performance…