refactor: replaces lodash/memoize with memoize #923
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
lodash/memoize
withmemoize
Motivation and Context
We should slowly be starting to replace lodash functions everywhere as lodash isn't really maintained anymore. Additionally
lodash/memoize
isn't the fastest memoization function around, it looks like.The chosen alternative (
memoize
, formerly known asmem
) isn't the fastest either, butOther candidates either have fallen out of maintenance (e.g. 10y without updates, ...), or miss features we need.
Speed benchmarks adopted from `memize` (who adopted from them in turn from `moize`):
Single parameter
Multiple parameters, only primitives
Multiple parameters, some parameters contain objects
How Has This Been Tested?
Types of changes
Checklist
📖
⚖️