Benchmarks
All benchmarks are collected on a real project consisting of 1124 modules, resulting bundle size is ~5.3Mb unzipped. We have used 13" MacBook Pro 2015.
Fastpack | Webpack 4.22.0 | Parcel 1.10.3 | |
---|---|---|---|
initial build | 0.811 | 3.86s | 11.07s |
- persistent cache | 0.208s | N/A | 1.39s |
- watch mode | 0.088s | 0.226s | 0.291s |
- all bundlers started 5 times and the best result was taken
- same for the watch mode: file was modified several times
- Parcel results may not be representative since we didn't manage to configure it specifically, so very likely it does more than we need.
Fastpack
Here is the command line used to build, no additional configuration specified:
$ fpack --development index.js
Webpack
The command-line used:
$ webpack --watch --mode development --config webpack.config.js
webpack.config.js
:
module.exports = {
entry: "./index.js"
};
Parcel
As stated above, we was unable to configure Parcel in order to emulate the same behaviour as Webpack/Fastpack. So, very likely, Parcel simply does more than we need it to do. On the other hand, we are feeling OK to take the "zero-configuration" metaphor literally and just tweaked it just to exclude source maps and hot module reloading. Here is the command line used:
$ parcel watch --no-cache --no-source-maps --no-autoinstall --no-hmr index.js