mirror of
https://github.com/angular/angular
synced 2026-05-24 09:28:37 +00:00
This commit adds a global epoch to the reactive graph, which can optimize non-live reads. When a non-live read occurs, a computed must poll its dependencies to check if they've changed, and this operation is transitive and not cacheable. Since non-live computeds don't receive dirty notifications, they're forced to assume potential dirtiness on each and every read. Using a global epoch, we can add an important optimization: if *no* signals have been set globally since the last time it polled its dependencies, then we *can* assume a clean state. This significantly improves performance of large unwatched graphs when repeatedly reading values. PR Close #52420 |
||
|---|---|---|
| .. | ||
| BUILD.bazel | ||
| computed_spec.ts | ||
| effect_util.ts | ||
| glitch_free_spec.ts | ||
| is_signal_spec.ts | ||
| non_reactive_spec.ts | ||
| signal_spec.ts | ||
| watch_spec.ts | ||