For example, if you insert an item at position 0 of a 10,000 item array, Object.observe will publish a change for every item (since they are all moved one item down). It is then up to the receiver of those changes to reverse engineer what exactly happened (which is slow).
What is needed is Array observers, which would notify the index of the change, number of items removed, and any items added (the `splice` signature). Ember emulates this, but by using a different API than the normal Array API. I hope that future extensions to Object.observe will support Array observation.
As a member of TC39, I worked closely with several members of the Chrome team on Object.observe and hope to work with them again on an Array extension to the spec to make Array observation faster. I yearn for a future where Ember can get good performance without having to ask our users to use an alternative API.
Could you explain what you mean by: ". . . ask our users to use an alternative API"?
Thanks!
Here are some resources:
# http://emberjs.com/guides/object-model/classes-and-instances...
# http://jfire.io/blog/2012/04/19/why-ember-dot-js-doesnt-use-...