React.memo vs no React.memo
Date tested:
one year ago
User agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36
Test name
Executions per second
React.memo
20.4 Ops/sec
No React.memo
25.5 Ops/sec
Benchmark definition (click to collapse):
HTML Preparation code:
<div id="root"></div> <script src="https://unpkg.com/react@16/umd/react.development.js"></script> <script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script> <script src="https://cdn.jsdelivr.net/npm/lodash@4.17.15/lodash.min.js"></script>
Script Preparation code:
var Memo = (props) => { return React.createElement("div", { className: props.css }); }; var NoMemo = React.memo((props) => { return React.createElement("div", { className: props.css }); }); var list = new Array(1000).fill({css: Math.random()});
Tests:
React.memo
list.forEach((p) => { ReactDOM.render(React.createElement(Memo, p, null), root); });
No React.memo
list.forEach((p) => { ReactDOM.render(React.createElement(NoMemo, p, null), root); });
Open this result on MeasureThat.net