-
-
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
feat: efficient manager #8135
feat: efficient manager #8135
Conversation
Asset Size Report for d73d666 Modern Builds 🛑 The size of the library EmberData has increased by +167.0 B (+56.0 B compressed) which exceeds the failure threshold of 75 bytes.WarningsChangeset
Full Asset Analysis (Modern)
Modern Builds (No Rollup) ☑️ EmberData has not changed in sizeIf any packages had changed sizes they would be listed here. Changeset
Full Asset Analysis (Modern)
|
Performance Report for d73d666 Scenario - basic-record-materialization: ✅ Performance improved
Scenario - relationship-materialization-simple: ✅ Performance improved
Scenario - relationship-materialization-complex: ✅ Performance improved
Scenario - unload: ✅ Performance improved
Scenario - unload-all: ✅ Performance improved
Scenario - destroy: ✅ Performance improved
Scenario - add-children: ✅ Performance improved
Scenario - unused-relationships: ✅ Performance improved
|
This is a complementary PR to #8134 which prepares the RecordArrayManager to better support RecordArray's built using Native Proxies. It also improves performance out-of-the-box by eliminating full-traversals of the store's huge array when doing partial updates to the RecordArray.
Users can expect up to 50% faster RecordArray updates and and initial value calculations (the return value of
findAll
andpeekAll
). These changes also improve the cost of record instantiation. In an app running in latest Chrome on ubuntu loading 100k records this would save ~425ms.