-
-
Notifications
You must be signed in to change notification settings - Fork 4.2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
The attrs-proxy exists to make component attrs available directly on the component instance, for compatibility with the pre-Glimmer world. This change makes the attrs-proxy significantly faster by implementing the proxy using Glimmer's lifecycle hooks instead of creating observers. I also moved the didInitAttrs hook inside component `init`, so that changes made there do not trigger observers. I condensed two distinct tests into one, because the subtle difference between the two scenarios has disappeared. The behavior change seems acceptable because this case is already covered under the double-render warning, so people will be told they're doing something with potentially undefined behavior. Using [complex list benchmark](https://github.com/ef4/initial-render-perf) that has been ported to idiomatic modern Ember, I'm measuring 56% faster rendering when compared to master. This takes us from 270% slower than 1.12 to 21% slower than 1.12. And much remains to still be optimized.
- Loading branch information
Showing
8 changed files
with
29 additions
and
126 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters