HTML Preparation code:
x
 
1
<div id="root"></div>
2
3
<script src="https://unpkg.com/react@16/umd/react.development.js"></script>
4
<script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
5
<script src="https://cdn.jsdelivr.net/npm/lodash@4.17.15/lodash.min.js"></script>
Script Preparation code:
 
function Memo(props) {
  const handler = React.useMemo(() => {
      return _.debounce(props.handler, props.wait);
  }, [props.handler, props.wait]);
  return React.createElement("div", { className: handler() });
}
function NoMemo(props) {
  const handler = _.debounce(props.handler, props.wait);
  return React.createElement("div", { className: handler() });
}
var propCases = [{
  handler: function() { return Math.random(); },
  wait: 100
}, {
  handler: function() { return Math.random(); },
  wait: 200
}];
propCases.push(propCases[1]);
Tests:
  • Memo

     
    propCases.forEach((props, i) => {
      ReactDOM.render(React.createElement(Memo, props, null), root);
    });
  • No Memo

     
    propCases.forEach((props) => {
      ReactDOM.render(React.createElement(NoMemo, props, null), root);
    });
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    Memo
    No Memo

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 2 months ago)
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36 Edg/132.0.0.0
Chrome 132 on Windows
View result in a separate tab
Test name Executions per second
Memo 14621.7 Ops/sec
No Memo 14417.6 Ops/sec