Skip to content
This repository was archived by the owner on Jan 6, 2026. It is now read-only.

Implement trackedArray(data, { equals, description })#1713

Merged
ef4 merged 11 commits intomainfrom
implement-tracked-array
Apr 29, 2025
Merged

Implement trackedArray(data, { equals, description })#1713
ef4 merged 11 commits intomainfrom
implement-tracked-array

Conversation

@NullVoxPopuli
Copy link
Copy Markdown
Contributor

@NullVoxPopuli NullVoxPopuli commented Feb 16, 2025

RFC: emberjs/rfcs#1068

Changes from the tracked-built-ins implementation (as described by the RFC)

  • use tags directly, don't use cache / tracked-storage apis (these don't exist anyway)
  • defaults to Object.is for the equals function
  • has overridable equals function
    • to get tracked-built-ins behavior back, you set equals: () => false
  • description is currently unused, but @wycats has plans -- description is meant for debugger hints

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Feb 16, 2025

This PRmain
Dev
588K └─┬ .
169K   ├── runtime
160K   ├── syntax
100K   ├── compiler
 58K   ├── opcode-compiler
 27K   ├── manager
 24K   ├── validator
 11K   ├── program
8.9K   ├── reference
7.2K   ├── destroyable
6.3K   ├── util
4.3K   ├── node
3.4K   ├── global-context
2.5K   ├── wire-format
1.0K   ├── vm
969B   ├── encoder
844B   ├── vm-babel-plugins
606B   └── owner
583K └─┬ .
169K   ├── runtime
160K   ├── syntax
100K   ├── compiler
 58K   ├── opcode-compiler
 27K   ├── manager
 19K   ├── validator
 11K   ├── program
8.9K   ├── reference
7.2K   ├── destroyable
6.3K   ├── util
4.3K   ├── node
3.4K   ├── global-context
2.5K   ├── wire-format
1.0K   ├── vm
969B   ├── encoder
844B   ├── vm-babel-plugins
606B   └── owner
Prod
231K └─┬ .
 70K   ├── syntax
 63K   ├── runtime
 48K   ├── compiler
 18K   ├── opcode-compiler
7.9K   ├── manager
5.1K   ├── validator
4.8K   ├── program
3.6K   ├── reference
2.4K   ├── util
2.1K   ├── node
1.6K   ├── wire-format
1.5K   ├── destroyable
737B   ├── vm
594B   ├── global-context
516B   ├── encoder
469B   ├── vm-babel-plugins
155B   └── owner
230K └─┬ .
 70K   ├── syntax
 63K   ├── runtime
 48K   ├── compiler
 18K   ├── opcode-compiler
7.9K   ├── manager
4.8K   ├── program
4.0K   ├── validator
3.6K   ├── reference
2.4K   ├── util
2.1K   ├── node
1.6K   ├── wire-format
1.5K   ├── destroyable
737B   ├── vm
594B   ├── global-context
516B   ├── encoder
469B   ├── vm-babel-plugins
155B   └── owner

@NullVoxPopuli
Copy link
Copy Markdown
Contributor Author

locally:

duration phase no difference [-136ms to 57ms]
renderEnd phase no difference [-1ms to 1ms]
render1000Items1End phase no difference [-17ms to 5ms]
clearItems1End phase no difference [-9ms to 1ms]
render1000Items2End phase no difference [-12ms to 5ms]
clearItems2End phase no difference [-4ms to 0ms]
render5000Items1End phase no difference [-17ms to 36ms]
clearManyItems1End phase no difference [0ms to 3ms]
render5000Items2End phase no difference [-33ms to 17ms]
clearManyItems2End phase no difference [-1ms to 0ms]
render1000Items3End phase no difference [-70ms to 3ms]
append1000Items1End phase estimated improvement -19ms [-48ms to -2ms] OR -6.32% [-15.76% to -0.72%]
append1000Items2End phase no difference [-18ms to 12ms]
updateEvery10thItem1End phase estimated improvement -4ms [-14ms to 0ms] OR -5.58% [-19.02% to -0.09%]
updateEvery10thItem2End phase no difference [0ms to 0ms]
selectFirstRow1End phase no difference [0ms to 0ms]
selectSecondRow1End phase no difference [0ms to 0ms]
removeFirstRow1End phase no difference [0ms to 16ms]
removeSecondRow1End phase no difference [-1ms to 0ms]
swapRows1End phase no difference [-1ms to 0ms]
swapRows2End phase no difference [0ms to 0ms]
clearItems4End phase no difference [-3ms to 2ms]
paint phase no difference [0ms to 0ms]

@NullVoxPopuli NullVoxPopuli force-pushed the implement-tracked-array branch from 3dc051f to f0bb06a Compare April 28, 2025 14:49
@NullVoxPopuli NullVoxPopuli changed the title Implement TrackedArray Implement trackedArray(data, { equals, description }) Apr 28, 2025
@ef4 ef4 enabled auto-merge April 29, 2025 16:22
@ef4 ef4 merged commit d862748 into main Apr 29, 2025
9 checks passed
@ef4 ef4 deleted the implement-tracked-array branch April 29, 2025 16:24
@github-actions github-actions Bot mentioned this pull request Apr 29, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants