Skip to content
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:prepare for universal reactivity #8949

Merged
merged 11 commits into from
Oct 3, 2023
Merged

feat:prepare for universal reactivity #8949

merged 11 commits into from
Oct 3, 2023

Conversation

runspired
Copy link
Contributor

Description

Notes for the release

@runspired runspired added 🎯 canary PR is targeting canary (default) 🏷️ feat This PR introduces a new feature ci-assetsize Activates Asset Size Checks in CI ci-perf Activates Performance Checks in CI 🔌 Project Unplug 🔌 labels Oct 2, 2023
@github-actions
Copy link

github-actions bot commented Oct 2, 2023

Asset Size Report for f010eca

Modern Builds

✅ EmberData shrank by -1.95 KB (-193.0 B compressed)

Warnings

⚠️ The uncompressed size of the package @ember-data/tracking has increased by +891.0 B.

Changeset


EmberData 193.94 KB -1.95 KB (42.55 KB -193.0 B compressed)
    @ember-data/model 39.92 KB -1.92 KB (8.76 KB -190.87 B compressed)
        @ember-data/model/model-b8502183 0.0 B -36.21 KB (0.0 B -3.51 KB compressed)
        @ember-data/model/hooks-cf42b319 0.0 B -1.81 KB (0.0 B -179.35 B compressed)
        @ember-data/model/has-many-7b6b78ec 0.0 B -1.57 KB (0.0 B -155.81 B compressed)
        @ember-data/model/model-7d6eaf05 34.31 KB +34.31 KB (7.53 KB +3.32 KB compressed)
        @ember-data/model/hooks-3bc51bea 1.81 KB +1.81 KB (406.28 B +179.35 B compressed)
        @ember-data/model/has-many-3776fded 1.55 KB +1.55 KB (347.7 B +153.49 B compressed)
    @ember-data/store 35.09 KB -913.0 B (7.7 KB -88.41 B compressed)
        @ember-data/store/store-service-76b33f02 0.0 B -32.85 KB (0.0 B -3.18 KB compressed)
        @ember-data/store/-private 2.26 KB -8.0 B (506.97 B -0.77 B compressed)
        @ember-data/store/store-service-b98547c2 31.96 KB +31.96 KB (7.01 KB +3.1 KB compressed)
    @ember-data/tracking 2.52 KB +891.0 B (566.64 B +86.28 B compressed)
        @ember-data/tracking/-private 1.77 KB +650.0 B (398.38 B +62.95 B compressed)
        @ember-data/tracking/index 767.0 B +241.0 B (168.25 B +23.34 B compressed)

Full Asset Analysis (Modern)

Asset Size Report
=================


Library: EmberData
┌────────────┬─────────────┐
│  (index)   │   Values    │
├────────────┼─────────────┤
│   bytes    │ '193.94 KB' │
│ compressed │ '42.55 KB'  │
│  packages  │     13      │
│  modules   │     66      │
└────────────┴─────────────┘

Package: @ember-data/model
┌──────────────┬────────────┐
│   (index)    │   Values   │
├──────────────┼────────────┤
│    bytes     │ '39.92 KB' │
│  compressed  │ '8.76 KB'  │
│ % Of Library │   '20.6'   │
└──────────────┴────────────┘
	Module                                            | Bytes     | Compressed | % of Package  | % Of Library
	-----------------------------------------------------------------------------------------------------
	@ember-data/model/model-7d6eaf05                  | 34.31 KB  | 7.53 KB    | 85.9          | 17.7
	@ember-data/model/hooks-3bc51bea                  | 1.81 KB   | 406.28 B   | 4.5           | 0.9
	@ember-data/model/has-many-3776fded               | 1.55 KB   | 347.70 B   | 3.9           | 0.8
	@ember-data/model/-private                        | 928.00 B  | 203.57 B   | 2.3           | 0.5
	@ember-data/model/index                           | 890.00 B  | 195.24 B   | 2.2           | 0.4
	@ember-data/model/hooks                           | 494.00 B  | 108.37 B   | 1.2           | 0.2

Package: @ember-data/store
┌──────────────┬────────────┐
│   (index)    │   Values   │
├──────────────┼────────────┤
│    bytes     │ '35.09 KB' │
│  compressed  │ '7.70 KB'  │
│ % Of Library │   '18.1'   │
└──────────────┴────────────┘
	Module                                            | Bytes     | Compressed | % of Package  | % Of Library
	-----------------------------------------------------------------------------------------------------
	@ember-data/store/store-service-b98547c2          | 31.96 KB  | 7.01 KB    | 91.1          | 16.5
	@ember-data/store/-private                        | 2.26 KB   | 506.97 B   | 6.4           | 1.2
	@ember-data/store/index                           | 885.00 B  | 194.14 B   | 2.5           | 0.4

Package: @ember-data/serializer
┌──────────────┬────────────┐
│   (index)    │   Values   │
├──────────────┼────────────┤
│    bytes     │ '22.08 KB' │
│  compressed  │ '4.84 KB'  │
│ % Of Library │   '11.4'   │
└──────────────┴────────────┘
	Module                                                     | Bytes     | Compressed | % of Package  | % Of Library
	--------------------------------------------------------------------------------------------------------------
	@ember-data/serializer/json                                | 7.36 KB   | 1.62 KB    | 33.4          | 3.8
	@ember-data/serializer/embedded-records-mixin-ccd03d4f     | 4.49 KB   | 1007.80 B  | 20.3          | 2.3
	@ember-data/serializer/json-api                            | 3.76 KB   | 843.71 B   | 17.0          | 1.9
	@ember-data/serializer/rest                                | 2.86 KB   | 641.88 B   | 12.9          | 1.5
	@ember-data/serializer/string-22572f80                     | 1.05 KB   | 235.82 B   | 4.8           | 0.5
	@ember-data/serializer/-private                            | 892.00 B  | 195.68 B   | 3.9           | 0.4
	@ember-data/serializer/index                               | 875.00 B  | 191.95 B   | 3.9           | 0.4
	@ember-data/serializer/transform                           | 620.00 B  | 136.01 B   | 2.7           | 0.3
	@ember-data/serializer/utils-075c5b79                      | 240.00 B  | 52.64 B    | 1.1           | 0.1

Package: @ember-data/graph
┌──────────────┬────────────┐
│   (index)    │   Values   │
├──────────────┼────────────┤
│    bytes     │ '18.89 KB' │
│  compressed  │ '4.14 KB'  │
│ % Of Library │   '9.7'    │
└──────────────┴────────────┘
	Module                                            | Bytes     | Compressed | % of Package  | % Of Library
	-----------------------------------------------------------------------------------------------------
	@ember-data/graph/-private                        | 18.89 KB  | 4.14 KB    | 100.0         | 9.7

Package: @ember-data/adapter
┌──────────────┬────────────┐
│   (index)    │   Values   │
├──────────────┼────────────┤
│    bytes     │ '17.23 KB' │
│  compressed  │ '3.78 KB'  │
│ % Of Library │   '8.9'    │
└──────────────┴────────────┘
	Module                                               | Bytes     | Compressed | % of Package  | % Of Library
	--------------------------------------------------------------------------------------------------------
	@ember-data/adapter/rest                             | 7.62 KB   | 1.67 KB    | 44.2          | 3.9
	@ember-data/adapter/serialize-into-hash-ff6f6a39     | 2.35 KB   | 527.15 B   | 13.6          | 1.2
	@ember-data/adapter/build-url-mixin-18db8c8b         | 1.91 KB   | 429.97 B   | 11.1          | 1.0
	@ember-data/adapter/error                            | 1.68 KB   | 377.54 B   | 9.8           | 0.9
	@ember-data/adapter/index-f8447ec8                   | 1.47 KB   | 331.25 B   | 8.6           | 0.8
	@ember-data/adapter/json-api                         | 1.01 KB   | 227.05 B   | 5.9           | 0.5
	@ember-data/adapter/-private                         | 835.00 B  | 183.17 B   | 4.7           | 0.4
	@ember-data/adapter/index                            | 375.00 B  | 82.26 B    | 2.1           | 0.2

Package: @ember-data/legacy-compat
┌──────────────┬────────────┐
│   (index)    │   Values   │
├──────────────┼────────────┤
│    bytes     │ '15.29 KB' │
│  compressed  │ '3.35 KB'  │
│ % Of Library │   '7.9'    │
└──────────────┴────────────┘
	Module                                               | Bytes     | Compressed | % of Package  | % Of Library
	--------------------------------------------------------------------------------------------------------
	@ember-data/legacy-compat/fetch-manager-c66055fb     | 8.28 KB   | 1.82 KB    | 54.2          | 4.3
	@ember-data/legacy-compat/index                      | 6.50 KB   | 1.43 KB    | 42.5          | 3.4
	@ember-data/legacy-compat/-private                   | 516.00 B  | 113.19 B   | 3.3           | 0.3

Package: @ember-data/json-api
┌──────────────┬────────────┐
│   (index)    │   Values   │
├──────────────┼────────────┤
│    bytes     │ '14.03 KB' │
│  compressed  │ '3.08 KB'  │
│ % Of Library │   '7.2'    │
└──────────────┴────────────┘
	Module                                            | Bytes     | Compressed | % of Package  | % Of Library
	-----------------------------------------------------------------------------------------------------
	@ember-data/json-api/index                        | 10.95 KB  | 2.40 KB    | 78.0          | 5.6
	@ember-data/json-api/request                      | 3.08 KB   | 692.12 B   | 22.0          | 1.6

Package: ember-data
┌──────────────┬───────────┐
│   (index)    │  Values   │
├──────────────┼───────────┤
│    bytes     │ '8.90 KB' │
│  compressed  │ '1.95 KB' │
│ % Of Library │   '4.6'   │
└──────────────┴───────────┘
	Module                                            | Bytes     | Compressed | % of Package  | % Of Library
	-----------------------------------------------------------------------------------------------------
	ember-data/index                                  | 1.76 KB   | 394.87 B   | 19.8          | 0.9
	ember-data/-private/index                         | 1.32 KB   | 295.93 B   | 14.8          | 0.7
	ember-data/adapters/errors                        | 1.00 KB   | 225.07 B   | 11.3          | 0.5
	ember-data/store                                  | 963.00 B  | 211.25 B   | 10.6          | 0.5
	ember-data/-private/core                          | 368.00 B  | 80.72 B    | 4.0           | 0.2
	ember-data/relationships                          | 335.00 B  | 73.49 B    | 3.7           | 0.2
	ember-data/serializers/embedded-records-mixin     | 291.00 B  | 63.83 B    | 3.2           | 0.1
	ember-data/setup-container                        | 287.00 B  | 62.96 B    | 3.2           | 0.1
	ember-data/serializers/json-api                   | 268.00 B  | 58.79 B    | 2.9           | 0.1
	ember-data/adapters/json-api                      | 262.00 B  | 57.47 B    | 2.9           | 0.1
	ember-data/serializers/json                       | 260.00 B  | 57.03 B    | 2.9           | 0.1
	ember-data/serializers/rest                       | 260.00 B  | 57.03 B    | 2.9           | 0.1
	ember-data/transform                              | 258.00 B  | 56.59 B    | 2.8           | 0.1
	ember-data/adapters/rest                          | 254.00 B  | 55.72 B    | 2.8           | 0.1
	ember-data/serializer                             | 249.00 B  | 54.62 B    | 2.7           | 0.1
	ember-data/adapter                                | 243.00 B  | 53.30 B    | 2.7           | 0.1
	ember-data/model                                  | 239.00 B  | 52.43 B    | 2.6           | 0.1
	ember-data/attr                                   | 235.00 B  | 51.55 B    | 2.6           | 0.1
	ember-data/version                                | 162.00 B  | 35.53 B    | 1.8           | 0.1

Package: @ember-data/request
┌──────────────┬───────────┐
│   (index)    │  Values   │
├──────────────┼───────────┤
│    bytes     │ '8.25 KB' │
│  compressed  │ '1.81 KB' │
│ % Of Library │   '4.3'   │
└──────────────┴───────────┘
	Module                                            | Bytes     | Compressed | % of Package  | % Of Library
	-----------------------------------------------------------------------------------------------------
	@ember-data/request/context-49a36022              | 4.96 KB   | 1.09 KB    | 60.1          | 2.6
	@ember-data/request/fetch                         | 2.58 KB   | 580.24 B   | 31.3          | 1.3
	@ember-data/request/index                         | 725.00 B  | 159.04 B   | 8.6           | 0.4

Package: ember-inflector
┌──────────────┬───────────┐
│   (index)    │  Values   │
├──────────────┼───────────┤
│    bytes     │ '6.58 KB' │
│  compressed  │ '1.44 KB' │
│ % Of Library │   '3.4'   │
└──────────────┴───────────┘
	Module                                            | Bytes     | Compressed | % of Package  | % Of Library
	-----------------------------------------------------------------------------------------------------
	ember-inflector/lib/system/inflector              | 2.87 KB   | 645.17 B   | 43.7          | 1.5
	ember-inflector/lib/system/inflections            | 1.59 KB   | 356.92 B   | 24.2          | 0.8
	ember-inflector/lib/system                        | 471.00 B  | 103.32 B   | 7.0           | 0.2
	ember-inflector/index                             | 379.00 B  | 83.14 B    | 5.6           | 0.2
	ember-inflector/lib/helpers/pluralize             | 369.00 B  | 80.94 B    | 5.5           | 0.2
	ember-inflector/lib/utils/make-helper             | 332.00 B  | 72.83 B    | 4.9           | 0.2
	ember-inflector/lib/system/string                 | 318.00 B  | 69.76 B    | 4.7           | 0.2
	ember-inflector/lib/helpers/singularize           | 296.00 B  | 64.93 B    | 4.4           | 0.1

Package: @ember-data/debug
┌──────────────┬────────────┐
│   (index)    │   Values   │
├──────────────┼────────────┤
│    bytes     │ '2.75 KB'  │
│  compressed  │ '618.85 B' │
│ % Of Library │   '1.4'    │
└──────────────┴────────────┘
	Module                                            | Bytes     | Compressed | % of Package  | % Of Library
	-----------------------------------------------------------------------------------------------------
	@ember-data/debug/index                           | 2.75 KB   | 618.85 B   | 100.0         | 1.4

Package: @ember-data/tracking
┌──────────────┬────────────┐
│   (index)    │   Values   │
├──────────────┼────────────┤
│    bytes     │ '2.52 KB'  │
│  compressed  │ '566.64 B' │
│ % Of Library │   '1.3'    │
└──────────────┴────────────┘
	Module                                            | Bytes     | Compressed | % of Package  | % Of Library
	-----------------------------------------------------------------------------------------------------
	@ember-data/tracking/-private                     | 1.77 KB   | 398.38 B   | 70.3          | 0.9
	@ember-data/tracking/index                        | 767.00 B  | 168.25 B   | 29.7          | 0.4

Package: @ember-data/request-utils
┌──────────────┬────────────┐
│   (index)    │   Values   │
├──────────────┼────────────┤
│    bytes     │ '2.42 KB'  │
│  compressed  │ '544.04 B' │
│ % Of Library │   '1.2'    │
└──────────────┴────────────┘
	Module                                            | Bytes     | Compressed | % of Package  | % Of Library
	-----------------------------------------------------------------------------------------------------
	@ember-data/request-utils/index                   | 2.42 KB   | 544.04 B   | 100.0         | 1.2

@github-actions
Copy link

github-actions bot commented Oct 2, 2023

Performance Report for f010eca

Scenario - basic-record-materialization: ☑️ Performance is stable

☑️ duration
phase no difference [-33ms to 12ms]
☑️ Phase [navigationStart] => [start-data-generation]
phase no difference [-2ms to 1ms]
☑️ Phase [start-data-generation] => [start-push-payload]
phase no difference [-4ms to 0ms]
☑️ Phase [start-push-payload] => [start-peek-records]
phase no difference [-11ms to 5ms]
☑️ Phase [start-peek-records] => [start-record-materialization]
phase no difference [0ms to 0ms]
✅ Phase [start-record-materialization] => [end-record-materialization]
phase estimated improvement -12ms [-23ms to -1ms] OR -2.72% [-5.39% to -0.19%]
☑️ Phase [end-record-materialization] => [Test End]
phase no difference [-1ms to 1ms]

Scenario - relationship-materialization-simple: ✅ Performance improved

✅ duration
phase estimated improvement -41ms [-46ms to -37ms] OR -5.4% [-5.97% to -4.84%]
☑️ Phase [navigationStart] => [start-find-all]
phase no difference [-2ms to 0ms]
☑️ Phase [start-find-all] => [start-materialization]
phase no difference [-5ms to 1ms]
✅ Phase [start-materialization] => [end-materialization]
phase estimated improvement -40ms [-43ms to -36ms] OR -13.75% [-14.88% to -12.59%]
☑️ Phase [end-materialization] => [Test End]
phase no difference [-1ms to 3ms]

Scenario - relationship-materialization-complex: ✅ Performance improved

✅ duration
phase estimated improvement -158ms [-178ms to -137ms] OR -4.98% [-5.63% to -4.32%]
☑️ Phase [navigationStart] => [start-data-generation]
phase no difference [-1ms to 1ms]
☑️ Phase [start-data-generation] => [start-push-payload]
phase no difference [-1ms to 1ms]
☑️ Phase [start-push-payload] => [start-peek-records]
phase no difference [-6ms to 3ms]
☑️ Phase [start-peek-records] => [start-record-materialization]
phase no difference [0ms to 0ms]
☑️ Phase [start-record-materialization] => [start-relationship-materialization]
phase no difference [-4ms to 2ms]
☑️ Phase [start-relationship-materialization] => [end-relationship-materialization]
phase no difference [-132ms to 28ms]
✅ Phase [end-relationship-materialization] => [Test End]
phase estimated improvement -53ms [-118ms to -15ms] OR -10.16% [-22.75% to -2.8%]

Scenario - unload: ☑️ Performance is stable

☑️ duration
phase no difference [-8ms to 2ms]
☑️ Phase [navigationStart] => [start-push-payload]
phase no difference [-1ms to 2ms]
☑️ Phase [start-push-payload] => [start-unload-records]
phase no difference [-4ms to 5ms]
✅ Phase [start-unload-records] => [end-unload-records]
phase estimated improvement -5ms [-9ms to 0ms] OR -3.86% [-7.36% to -0.39%]
☑️ Phase [end-unload-records] => [Test End]
phase no difference [0ms to 0ms]

Scenario - unload-all: ☑️ Performance is stable

☑️ duration
phase no difference [-9ms to 14ms]
☑️ Phase [navigationStart] => [start-push-payload]
phase no difference [-1ms to 2ms]
☑️ Phase [start-push-payload] => [start-materialization]
phase no difference [-4ms to 7ms]
☑️ Phase [start-materialization] => [start-unload-all]
phase no difference [-3ms to 3ms]
☑️ Phase [start-unload-all] => [end-unload-all]
phase no difference [-5ms to 3ms]
☑️ Phase [end-unload-all] => [Test End]
phase no difference [-1ms to 1ms]

Scenario - destroy: ☑️ Performance is stable

☑️ duration
phase no difference [-8ms to 1ms]
☑️ Phase [navigationStart] => [start-push-payload]
phase no difference [-1ms to 2ms]
☑️ Phase [start-push-payload] => [start-destroy-records]
phase no difference [-5ms to 3ms]
☑️ Phase [start-destroy-records] => [end-destroy-records]
phase no difference [-8ms to 0ms]
☑️ Phase [end-destroy-records] => [Test End]
phase no difference [0ms to 0ms]

Scenario - add-children: ✅ Performance improved

✅ duration
phase estimated improvement -4ms [-7ms to 0ms] OR -0.68% [-1.35% to -0.02%]
☑️ Phase [navigationStart] => [start-push-initial-payload]
phase no difference [-3ms to 1ms]
☑️ Phase [start-push-initial-payload] => [start-push-update-payload]
phase no difference [-3ms to 1ms]
☑️ Phase [start-push-update-payload] => [end-push-update-payload]
phase no difference [-4ms to 1ms]
☑️ Phase [end-push-update-payload] => [Test End]
phase no difference [-1ms to 0ms]

Scenario - unused-relationships: ☑️ Performance is stable

☑️ duration
phase no difference [-3ms to 5ms]
☑️ Phase [navigationStart] => [start-push-payload]
phase no difference [-2ms to 0ms]
☑️ Phase [start-push-payload] => [end-push-payload]
phase no difference [0ms to 8ms]
☑️ Phase [end-push-payload] => [Test End]
phase no difference [-5ms to 3ms]

@runspired runspired merged commit d3b3a23 into main Oct 3, 2023
20 of 21 checks passed
@delete-merged-branch delete-merged-branch bot deleted the make-fields-reactive branch October 3, 2023 06:35
BoussonKarel pushed a commit to BoussonKarel/data that referenced this pull request Oct 6, 2023
* feat:prepare for universal reactivity

* a bunch of cleanup

* fix lint

* more cleanup

* cleanup naming

* more cleanup

* fix lint

* more rollup cleanup

* fixup 3.28 scenario

* fixup lint

* fix 3.28 again
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci-assetsize Activates Asset Size Checks in CI ci-perf Activates Performance Checks in CI 🎯 canary PR is targeting canary (default) 🏷️ feat This PR introduces a new feature 🔌 Project Unplug 🔌
Projects
Archived in project
Status: Completed
Development

Successfully merging this pull request may close these issues.

1 participant