Performance benchmark harness for React-Redux
npm run initialize
npm start
After benchmarks have been initialized, you can run with simply:
npm start
To specify a single version:
REDUX=5.0.7 npm start
To specify running against multiple versions:
REDUX=5.0.7:4.4.9 npm start
To run a specific benchmark:
BENCHMARKS=stockticker npm start
or specific benchmarks:
BENCHMARKS=stockticker:another npm start
By default, benchmarks run for 30 seconds. To change this, use
SECONDS=10 npm start
Benchmarks live in the sources/
directory. Each benchmark must insert this
code into index.js
:
import 'fps-emit'
In addition, a config-overrides.js
must be created with these contents:
module.exports = function override(config, env) {
//do stuff with the webpack config...
console.log(`Environment: ${env}`)
if(env === "production") {
config.externals = {
"react" : "React",
"redux" : "Redux",
"react-redux" : "ReactRedux",
"fps-emit": "FpsEmit",
}
}
return config;
}
and the scripts section of package.json
should be changed to:
"scripts": {
"start": "react-app-rewired start",
"build": "react-app-rewired build",
"test": "react-app-rewired --env=jsdom",
...
}
Also, index.html
must be modified to include these lines:
<script type="text/javascript" src="redux.min.js"></script>
<script type="text/javascript" src="react.production.min.js"></script>
<script type="text/javascript" src="react-redux.min.js"></script>
<script type="text/javascript" src="fps-emit.min.js"></script>