-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Backport empty-object performance improvements from 2.1.0-beta1 #3689
Conversation
emberjs#3641 Improve InternalModel (2x - 3x faster) emberjs#3649 Empty object
I would be curious to know the #s you have seen in your app with your data. |
In our app we have a large, hierarchical tree of data that is pulled and deserialized when users visit the site. To test, we monkey patched these two PRs into the latest 1.13 build of Ember-Data and found loading times improved by 50% (for a dataset containing on the order of hundreds of complex DS.Models with relationships the time to load went from 40s to 20s, roughly). We still need to make it faster but this was a nice bump for a simple change! |
@jnfisher good to hear, those numbers still aren't very but our headroom for improvement here is still very high. It is also worth noting, those two optimizations had a third counter part, one that made OrderSet and Set insertion much faster. Which was back-ported to 1.13-stable (but not yet part of a 1.13 release). I am curious if you are also utilizing that. |
@stefanpenner I don't recall if we were using stable or release in our testing (we're still on a branch until we clear out some remaining problems with stained-by-children and fragments)-- but we'll keep an eye on it. Agree that 10s+ load times are not great. Fortunately, our users accept waiting for an upfront loading time if the app is fast afterwards. It's a work in progress. |
It was included in Ember 1.13.8. |
Backport empty-object performance improvements from 2.1.0-beta1
I'm a bit concerned we leak NullObjects to user space. People might be surprised by that? @stefanpenner any thoughts? Should be simple to wrap |
We found these changes substantially improved loading of large datasets in our app.
This PR contains code from the following 2.1.0-beta1 PRs:
#3641 Improve InternalModel (2x - 3x faster)
#3649 Empty object