Kinda. It triggers in one place but updates in every place where the observable array is used. I assume that it doesn't trigger the update until the sorting is complete, although I haven't verified this yet.

Calling sort() actually changes the value of the array it's called on; this will eventually update the observable array even if you call `sort()` on the underlying array. So using a computed isn't really a solution, unless you actually create a copy of the array and then call sort() on that.

Performance on sorting isn't great, but it isn't terrible. Sorting 1000 items with different values takes about half a second. I agree that we will want to optimize this in the future, but I don't think a computed is the solution we want right now.