facebookexperimental/Recoil

[Performance] Short-circuit set recoil state if the value is unchanged

Open

#1927 opened on Jul 30, 2022

View on GitHub
 (7 comments) (1 reaction) (0 assignees)JavaScript (19,428 stars) (1,151 forks)batch import
help wantedperformance

Description

It seems that the current implementation of setting recoil state can be further improved when the value is the same as the current value. In this case, we don't have to go through all the enchilada and more importantly don't have to call setState in the end, which is not exactly cost free. I have observed major performance hit thanks to that. I have to cache the previous value myself and do the equality check before calling set recoil state when recoil has all the knowledge to that.

Contributor guide