Skip to content

Investigate hypothetical autotracking-based perf optimization #2033

Closed

Description

@markerikson

https://github.com/simonihmig/tracked-redux uses autotracking to selectively update UI components that depend on specific changed pieces of state.

I already ported that logic to Reselect, in reduxjs/reselect#605 .

I wonder if there'd be some way to use this within React-Redux.

Like, what if we had an alternate Subscription implementation that wrapped store.getState() with this autotracking proxy and passed that around, then tracked which callbacks accessed the state and got smarter about when to re-run those?

I'm sure there's a ton of caveats here, such as nested subscriptions and connect, bundle size, perf overhead, etc.

related, yet another "Redux perf is hard at scale" talk: https://twitter.com/zeigenvector/status/1668713918049525760

Activity

  1. guillaumebrunerie commented on Jun 23, 2023

    @guillaumebrunerie

    Just saw this issue now :) Please take a look at #2043 where I describe a potential way to use SolidJS's stores to avoid rerunning irrelevant selectors.

  2. markerikson commented on Nov 6, 2023

    @markerikson
    ContributorAuthor

    There's some strongly-related work from the Causal team here, where they've built their own store subscriptions and are trying to narrow down how many selectors run based on ordering:

  3. added theissue type on Mar 18, 2026
  4. markerikson commented on Sep 30, 2026

    @markerikson
    ContributorAuthor

    Superseded by #2318

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions