From 7e2a134c6e6f1a08dfbeac10ed1dfbff85d0cbd3 Mon Sep 17 00:00:00 2001 From: Eric Anderson Date: Fri, 14 Dec 2018 10:46:24 -0500 Subject: [PATCH 1/2] Minor optimization: remove conditional The conditional in selectDerivedProps is unnecessary. The code behaves identically now but saves about 10% of performance for that portion of the function. See: https://jsperf.com/conditional-vs-not Code left in place but commented in case someone ever wants to add something like it back for "clarity". --- src/components/connectAdvanced.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/components/connectAdvanced.js b/src/components/connectAdvanced.js index 081899d56..80938a7bd 100644 --- a/src/components/connectAdvanced.js +++ b/src/components/connectAdvanced.js @@ -151,9 +151,11 @@ export default function connectAdvanced( const nextProps = sourceSelector(state, props) - if (lastDerivedProps === nextProps) { - return lastDerivedProps - } + // Conditional test costs more than just assigning each time + // See: https://jsperf.com/conditional-vs-not + // if (lastDerivedProps === nextProps) { + // return lastDerivedProps + // } lastDerivedProps = nextProps return lastDerivedProps From 7da8c0dfed51b8bc59eee628059916795df52652 Mon Sep 17 00:00:00 2001 From: Tim Dorr Date: Fri, 14 Dec 2018 11:35:07 -0500 Subject: [PATCH 2/2] Just remove the code --- src/components/connectAdvanced.js | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/components/connectAdvanced.js b/src/components/connectAdvanced.js index 80938a7bd..4dbb9ff1a 100644 --- a/src/components/connectAdvanced.js +++ b/src/components/connectAdvanced.js @@ -151,12 +151,6 @@ export default function connectAdvanced( const nextProps = sourceSelector(state, props) - // Conditional test costs more than just assigning each time - // See: https://jsperf.com/conditional-vs-not - // if (lastDerivedProps === nextProps) { - // return lastDerivedProps - // } - lastDerivedProps = nextProps return lastDerivedProps }