ember-localstorage-adapter
ember-localstorage-adapter copied to clipboard
use begin/endPropertyChanges in findMany
I found this led to huge improvements in performance, at least when using reduceComputed / @each obervers on large arrays:
in findMany:
//...
if (opts && typeof opts.allowRecursive !== 'undefined') {
allowRecursive = opts.allowRecursive;
}
if (allowRecursive) {
Ember.beginPropertyChanges();//added
}
//...
if (results.get('length') && allowRecursive) {
var doRels=this.loadRelationshipsForMany(store, type, results);
Ember.endPropertyChanges();//added
return doRels;
} else {
if (allowRecursive) {
Ember.endPropertyChanges();//added
}
return Ember.RSVP.resolve(results);
}
},