ember-localstorage-adapter icon indicating copy to clipboard operation
ember-localstorage-adapter copied to clipboard

use begin/endPropertyChanges in findMany

Open Leooo opened this issue 9 years ago • 0 comments

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);
        }
      },

Leooo avatar Oct 24 '15 08:10 Leooo