jsPerf.app is an online JavaScript performance benchmark test runner & jsperf.com mirror. It is a complete rewrite in homage to the once excellent jsperf.com now with hopefully a more modern & maintainable codebase.
jsperf.com URLs are mirrored at the same path, e.g:
https://jsperf.com/negative-modulo/2
Can be accessed at:
https://jsperf.app/negative-modulo/2
<!-- Load React and ReactDOM from CDN -->
<script crossorigin src="https://unpkg.com/react@17/umd/react.development.js"></script>
<script crossorigin src="https://unpkg.com/react-dom@17/umd/react-dom.development.js"></script>
<!-- Create a root div for React -->
<div id="root"></div>
const { useState, useMemo, createElement } = React;
const SimpleCalculationComponent = ({ input }) => {
return createElement('div', null, `Value: ${input}`);
};
const SimpleCalculationWithMemoComponent = ({ input }) => {
const calculatedValue = useMemo(() => input, [input]);
return createElement('div', null, `Value: ${calculatedValue}`);
};
const App = ({ withMemo }) => {
const [input, setInput] = useState(1);
return createElement(
'div',
null,
withMemo
? createElement(SimpleCalculationWithMemoComponent, { input })
: createElement(SimpleCalculationComponent, { input }),
createElement('button', { onClick: () => setInput(input + 1) }, 'Re-render')
);
};
Ready to run.
Test | Ops/sec | |
---|---|---|
Without useMemo |
| ready |
With useMemo |
| ready |
You can edit these tests or add more tests to this page by appending /edit to the URL.