perf(core): detect existing signal dependency without checking all pr…#67506
perf(core): detect existing signal dependency without checking all pr…#67506JoostK wants to merge 1 commit into
Conversation
d1029a1 to
ac1c95b
Compare
ac1c95b to
bb41616
Compare
mturco
left a comment
There was a problem hiding this comment.
Reviewed-for: primitives-shared
|
We're seeing at least 2 failing targets on the TGP but they don't seem very narrow. One of the failing tests reports a |
|
any update here? :) We're kinda stuck upgrading from v19 to v21 because of this issue |
|
I haven't had a chance to look into any issues this may have caused, as indicated by the TGP results. |
|
I can't access the logs to investigate. Maybe just flaky and a restart helps? |
bb41616 to
0c6771d
Compare
It's not a flake; I've pushed a failing test that showcases the problem, will be looking into ways to address it. |
c8370db to
fd9eb88
Compare
|
any update? :) |
fd9eb88 to
cdc1f36
Compare
It continues to be broken, apparently in different ways than what was recently accounted for. I do not know how, though. |
|
any update? |
It continues to be broken, apparently in different ways than what was recently accounted for. I do not know how, though. |
|
Can you rebase your PR ? I'll try to spent some time investigating this a bit more. |
cdc1f36 to
c603460
Compare
…oducer links This commit addresses a scaling issue in the signal dependency graph where the detection of duplicate dependency links would perform a linear scan across all consumer links of all producers. The linear scan is replaced with a version comparison of the dependency edge against the current epoch; if they are equal the existing dependency edge is known to be valid in this epoch. This means that the link won't be eligible for removal and therefore doesn't have to be recreated. Closes angular#67454
c603460 to
b7be621
Compare

…oducer links
This commit addresses a scaling issue in the signal dependency graph where the detection of duplicate dependency links would perform a linear scan across all consumer links of all producers. The linear scan is replaced with a version comparison of the dependency edge against the version of the node; if they are equal the existing dependency edge is valid.
Closes #67454