justinpark opened a new pull request, #34874: URL: https://github.com/apache/superset/pull/34874
### SUMMARY Previously, the processChartProps selector had an inefficient cache logic: it always repeated the entire process of `post(transform(pre(props)))` even if only one of pre, transform, or post was changed. For example, if only `postChartProps` was updated, it still redundantly repeated the unchanged `pre` and `transform` steps, resulting in performance degradation. To address this, this commit refactors the process by separating each step and implementing cache selectors. This change allows unnecessary transformation steps to be handled by the cache, improving performance by avoiding redundant computations. Additionally, we added a missing equality check for `postTransformProps` in ChartRenderer for the correct re-rendering logic. ### TESTING INSTRUCTIONS specs are added ### ADDITIONAL INFORMATION <!--- Check any relevant boxes with "x" --> <!--- HINT: Include "Fixes #nnn" if you are fixing an existing issue --> - [ ] Has associated issue: - [ ] Required feature flags: - [ ] Changes UI - [ ] Includes DB Migration (follow approval process in [SIP-59](https://github.com/apache/superset/issues/13351)) - [ ] Migration is atomic, supports rollback & is backwards-compatible - [ ] Confirm DB migration upgrade and downgrade tested - [ ] Runtime estimates and downtime expectations provided - [ ] Introduces new feature or API - [ ] Removes existing feature or API -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@superset.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: notifications-unsubscr...@superset.apache.org For additional commands, e-mail: notifications-h...@superset.apache.org