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]: nested rendering contexts #177

Merged
merged 72 commits into from
Jan 12, 2025
Merged

[feat]: nested rendering contexts #177

merged 72 commits into from
Jan 12, 2025

Conversation

lifeart
Copy link
Owner

@lifeart lifeart commented Nov 9, 2024

replaces: #177

image
duration phase estimated improvement -166ms [-280ms to -63ms] OR -1.22% [-2.05% to -0.46%]
renderEnd phase no difference [0ms to 4ms]
render1000Items1End phase no difference [-7ms to 10ms]
clearItems1End phase estimated improvement -6ms [-8ms to -4ms] OR -7.73% [-10.09% to -5.26%]
render1000Items2End phase estimated regression +16ms [1ms to 17ms] OR +2.3% [0.16% to 2.47%]
clearItems2End phase estimated improvement -1ms [-2ms to 0ms] OR -0.64% [-2.33% to -0.12%]
render5000Items1End phase no difference [-22ms to 28ms]
clearManyItems1End phase estimated improvement -43ms [-48ms to -38ms] OR -11.35% [-12.52% to -10.05%]
render5000Items2End phase no difference [-37ms to 4ms]
clearManyItems2End phase estimated improvement -34ms [-39ms to -32ms] OR -9.58% [-10.86% to -8.95%]
render1000Items3End phase estimated regression +17ms [11ms to 26ms] OR +2.68% [1.61% to 4.01%]
append1000Items1End phase no difference [-33ms to 3ms]
append1000Items2End phase estimated improvement -18ms [-36ms to 0ms] OR -2.34% [-4.65% to -0.06%]
updateEvery10thItem1End phase no difference [-5ms to 17ms]
updateEvery10thItem2End phase no difference [-9ms to 16ms]
selectFirstRow1End phase estimated improvement -4ms [-7ms to -2ms] OR -2.97% [-5.01% to -1.2%]
selectSecondRow1End phase estimated regression +2ms [0ms to 5ms] OR +1.75% [0.3% to 3.7%]
removeFirstRow1End phase estimated improvement -1ms [-3ms to 0ms] OR -0.3% [-1.4% to -0.03%]
removeSecondRow1End phase no difference [-1ms to 1ms]
swapRows1End phase no difference [0ms to 0ms]
swapRows2End phase no difference [-1ms to 0ms]
clearItems4End phase estimated improvement -15ms [-18ms to -11ms] OR -7.05% [-8.59% to -5.45%]
paint phase no difference [0ms to 0ms]

Features:

  • Proper SVG support
  • Proper MathML support
  • Better Hydration api

Todo:

  • Implement happy-path for context lookup
  • Check opcodes and it's context lookup
  • Simplify parent lookup (using render tree?)
  • Unify destructor scope for opcodes & components?
  • Get rid of context on args?
  • Get rid of duplicated destructors
  • Get rid of owner in destructors
  • Cleanup codebase
  • fix HMR
  • todo - add tests for slots

Copy link

netlify bot commented Nov 9, 2024

Deploy Preview for g-next ready!

Name Link
🔨 Latest commit 94ba2e9
🔍 Latest deploy log https://app.netlify.com/sites/g-next/deploys/678365b310b5df0008050d99
😎 Deploy Preview https://deploy-preview-177--g-next.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

@lifeart lifeart force-pushed the nested-rendering-context branch from da60356 to 8e1c800 Compare December 28, 2024 13:31
Remove fallback mechanism for setting up and looking up the DOM API in `_DOM` function.

* Remove the fallback mechanism involving `oldAPI` and ensure `api` is correctly set without fallback logic.
* Update the `_DOM` function to use the `api` variable directly.
* Reformat the `updatingCell` formula for better readability.

---

For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/lifeart/glimmer-next/tree/nested-rendering-context?shareId=XXXX-XXXX-XXXX-XXXX).
Copy link

github-actions bot commented Jan 6, 2025

Code Coverage Report

Coverage after merging nested-rendering-context into master

78.23%
Coverage Report
FileLines (%)Funcs (%)Uncovered Lines
.../pages/page-one
   Smile.ts806, 7, 8, 9, ...
.../pages/page-two
   Clock.ts94.4483.3318, 27
tests
   utils.ts95.6524, 74, 75, 76, ...
utils
   component.ts98.1878, 81, 82, 86, ...
   context.ts46, 64, 69, 74, ...
   dom-api.ts97.0629, 43, 44, 45, ...
   dom.ts98.0994.12987, 988, 989, 992, ...
   provider.ts91.8929, 30, 63, 64, ...
   reactive.ts92.8297.0649, 63, 68, 69, ...
   runtime.ts93.5518, 21, 22, 23, ...
   shared.ts60, 64, 70, 72, ...
   vm.ts24, 4
utils/benchmark
   benchmark.ts69.4419, 20, 21, 22, ...
   compat.ts96.2328, 29, 30, 38, ...
utils/control-flow
   if.ts72.5376.9295, 96, 97, 98, ...
   list.ts96.1090.919, 96, 97, 98, ...
utils/glimmer
   destroyable.ts12, 26, 36, 50, ...
utils/helpers
   and.ts77.784, 5, 6
   eq.ts3, 4
   hash.ts81.8266.6714, 15, 16, 17, ...
   if.ts71.433, 4, 5
   or.ts4
utils/inspector
   ember-inspector.ts12.67096, 97, 98, 99, ...
   index.ts33.33096, 97, 98, 99, ...
utils/ssr
   rehydration-dom-api.ts55.6396, 97, 98, 99, ...
   rehydration.ts157, 37, 40, 77, ...
   ssr.ts96.437, 8, 9

This was referenced Jan 6, 2025
Copy link

github-actions bot commented Jan 6, 2025

duration phase estimated improvement -166ms [-280ms to -63ms] OR -1.22% [-2.05% to -0.46%]
renderEnd phase no difference [0ms to 4ms]
render1000Items1End phase no difference [-7ms to 10ms]
clearItems1End phase estimated improvement -6ms [-8ms to -4ms] OR -7.73% [-10.09% to -5.26%]
render1000Items2End phase estimated regression +16ms [1ms to 17ms] OR +2.3% [0.16% to 2.47%]
clearItems2End phase estimated improvement -1ms [-2ms to 0ms] OR -0.64% [-2.33% to -0.12%]
render5000Items1End phase no difference [-22ms to 28ms]
clearManyItems1End phase estimated improvement -43ms [-48ms to -38ms] OR -11.35% [-12.52% to -10.05%]
render5000Items2End phase no difference [-37ms to 4ms]
clearManyItems2End phase estimated improvement -34ms [-39ms to -32ms] OR -9.58% [-10.86% to -8.95%]
render1000Items3End phase estimated regression +17ms [11ms to 26ms] OR +2.68% [1.61% to 4.01%]
append1000Items1End phase no difference [-33ms to 3ms]
append1000Items2End phase estimated improvement -18ms [-36ms to 0ms] OR -2.34% [-4.65% to -0.06%]
updateEvery10thItem1End phase no difference [-5ms to 17ms]
updateEvery10thItem2End phase no difference [-9ms to 16ms]
selectFirstRow1End phase estimated improvement -4ms [-7ms to -2ms] OR -2.97% [-5.01% to -1.2%]
selectSecondRow1End phase estimated regression +2ms [0ms to 5ms] OR +1.75% [0.3% to 3.7%]
removeFirstRow1End phase estimated improvement -1ms [-3ms to 0ms] OR -0.3% [-1.4% to -0.03%]
removeSecondRow1End phase no difference [-1ms to 1ms]
swapRows1End phase no difference [0ms to 0ms]
swapRows2End phase no difference [-1ms to 0ms]
clearItems4End phase estimated improvement -15ms [-18ms to -11ms] OR -7.05% [-8.59% to -5.45%]
paint phase no difference [0ms to 0ms]

[07:37:04] Generating Benchmark Reports [started]
[07:37:13] Generating Benchmark Reports [completed]

Benchmark Reports    

JSON: /home/runner/work/glimmer-next/glimmer-next/tracerbench-results/compare.json

PDF: /home/runner/work/glimmer-next/glimmer-next/tracerbench-results/artifact-1.pdf

HTML: /home/runner/work/glimmer-next/glimmer-next/tracerbench-results/artifact-1.html

@lifeart lifeart force-pushed the nested-rendering-context branch from bb2d7db to 69fa24f Compare January 11, 2025 15:12
@lifeart lifeart marked this pull request as ready for review January 12, 2025 09:57
@lifeart lifeart merged commit ecda665 into master Jan 12, 2025
8 checks passed
@lifeart lifeart deleted the nested-rendering-context branch January 12, 2025 10:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant