Do you want to work on this issue?
You can request for a bounty in order to promote it!
Use autodll-webpack-plugin to boost the speed of rebuilding in development #425
egoist posted onGitHub
@egoist is there any way to get a list of dependencies used in the server compilation vs client compilation?
PS: Bad news the boost of 40% to 50% was mostly caused by the laptop cache
@MarchWorks: is there any way to get a list of dependencies used in the server compilation vs client compilation?
We can read it from the closest package.json
.
btw, I tested hard-source-webpack-plugin but no significant perf improvements
I used Object.keys(api.pkg.data.dependencies)
but I haven't got good results. I will see if there is a way to get the built time of each module which will help in knowing where most of the build time is lost
Using this cool package speed-measure-webpack-plugin we get the following
info Using config file: saber-config.js
info Using theme: ./src
info Using 8 plugins from config file
success Compiled server successfully in 31.7s!
// For server
SMP ⏱
General output time took 31.74 secs
SMP ⏱ Loaders
myPath\saber\node_modules\css-loader\dist\cjs.js, and
myPath\saber\node_modules\@egoist\postcss-loader\src\index.js took 21.89 secs
module count = 8
myPath\saber\node_modules\css-loader\dist\cjs.js, and
myPath\saber\node_modules\vue-loader\lib\loaders\stylePostLoader.js, and
myPath\saber\node_modules\@egoist\postcss-loader\src\index.js, and
myPath\saber\node_modules\vue-loader\lib\index.js, and
myPath\saber\packages\saber\vue-renderer\lib\saber-page-loader.js took 20.75 secs
module count = 10
myPath\saber\node_modules\css-loader\dist\cjs.js, and
myPath\saber\node_modules\vue-loader\lib\loaders\stylePostLoader.js, and
myPath\saber\node_modules\@egoist\postcss-loader\src\index.js took 17.03 secs
module count = 1
modules with no loaders took 11.99 secs
module count = 17
myPath\saber\node_modules\vue-loader\lib\index.js, and
myPath\saber\packages\saber\vue-renderer\lib\saber-page-loader.js took 6.8 secs
module count = 17
myPath\saber\packages\saber\lib\webpack\babel-loader.js took 4.089 secs
module count = 17
myPath\saber\packages\saber\lib\webpack\babel-loader.js, and
myPath\saber\node_modules\vue-loader\lib\index.js, and
myPath\saber\packages\saber\vue-renderer\lib\saber-page-loader.js took 1.32 secs
module count = 16
myPath\saber\node_modules\vue-loader\lib\loaders\templateLoader.js, and
myPath\saber\node_modules\vue-loader\lib\index.js, and
myPath\saber\packages\saber\vue-renderer\lib\saber-page-loader.js took 0.841 secs
module count = 15
myPath\saber\node_modules\vue-style-loader\index.js, and
myPath\saber\node_modules\css-loader\dist\cjs.js, and
myPath\saber\node_modules\vue-loader\lib\loaders\stylePostLoader.js, and
myPath\saber\node_modules\@egoist\postcss-loader\src\index.js, and
myPath\saber\node_modules\vue-loader\lib\index.js, and
myPath\saber\packages\saber\vue-renderer\lib\saber-page-loader.js took 0.098 secs
module count = 10
myPath\saber\node_modules\vue-loader\lib\loaders\pitcher.js, and
myPath\saber\packages\saber\lib\webpack\babel-loader.js, and
myPath\saber\node_modules\vue-loader\lib\index.js, and
myPath\saber\packages\saber\vue-renderer\lib\saber-page-loader.js took 0.076 secs
module count = 16
myPath\saber\node_modules\vue-loader\lib\loaders\pitcher.js, and
myPath\saber\node_modules\vue-style-loader\index.js, and
myPath\saber\node_modules\css-loader\dist\cjs.js, and
myPath\saber\node_modules\@egoist\postcss-loader\src\index.js, and
myPath\saber\node_modules\vue-loader\lib\index.js, and
myPath\saber\packages\saber\vue-renderer\lib\saber-page-loader.js took 0.068 secs
module count = 10
myPath\saber\node_modules\vue-loader\lib\loaders\pitcher.js, and
myPath\saber\node_modules\vue-loader\lib\index.js, and
myPath\saber\packages\saber\vue-renderer\lib\saber-page-loader.js took 0.056 secs
module count = 15
myPath\saber\node_modules\vue-style-loader\index.js, and
myPath\saber\node_modules\css-loader\dist\cjs.js, and
myPath\saber\node_modules\@egoist\postcss-loader\src\index.js took 0.04 secs
module count = 8
myPath\saber\node_modules\vue-style-loader\index.js, and
myPath\saber\node_modules\css-loader\dist\cjs.js, and
myPath\saber\node_modules\vue-loader\lib\loaders\stylePostLoader.js, and
myPath\saber\node_modules\@egoist\postcss-loader\src\index.js took 0.005 secs
module count = 1
myPath\saber\node_modules\vue-loader\lib\loaders\pitcher.js, and
myPath\saber\node_modules\vue-style-loader\index.js, and
myPath\saber\node_modules\css-loader\dist\cjs.js, and
myPath\saber\node_modules\@egoist\postcss-loader\src\index.js, and
myPath\saber\node_modules\vue-style-loader\index.js, and
myPath\saber\node_modules\css-loader\dist\cjs.js, and
myPath\saber\node_modules\@egoist\postcss-loader\src\index.js took 0.004 secs
module count = 1
success Compiled client successfully in 36.5s!
info Available at http://localhost:3000
info 144 MB memory used
// For client
SMP ⏱
General output time took 36.46 secs
SMP ⏱ Loaders
modules with no loaders took 29.16 secs
module count = 118
myPath\saber\node_modules\css-loader\dist\cjs.js, and
myPath\saber\node_modules\@egoist\postcss-loader\src\index.js took 22.24 secs
module count = 8
myPath\saber\node_modules\css-loader\dist\cjs.js, and
myPath\saber\node_modules\vue-loader\lib\loaders\stylePostLoader.js, and
myPath\saber\node_modules\@egoist\postcss-loader\src\index.js, and
myPath\saber\node_modules\vue-loader\lib\index.js, and
myPath\saber\packages\saber\vue-renderer\lib\saber-page-loader.js took 21.31 secs
module count = 10
myPath\saber\node_modules\css-loader\dist\cjs.js, and
myPath\saber\node_modules\vue-loader\lib\loaders\stylePostLoader.js, and
myPath\saber\node_modules\@egoist\postcss-loader\src\index.js took 17.007 secs
module count = 1
myPath\saber\node_modules\vue-loader\lib\index.js, and
myPath\saber\packages\saber\vue-renderer\lib\saber-page-loader.js took 5.74 secs
module count = 17
myPath\saber\packages\saber\lib\webpack\babel-loader.js took 3.66 secs
module count = 19
myPath\saber\packages\saber\lib\webpack\babel-loader.js, and
myPath\saber\node_modules\vue-loader\lib\index.js, and
myPath\saber\packages\saber\vue-renderer\lib\saber-page-loader.js took 1.6 secs
module count = 16
myPath\saber\node_modules\vue-loader\lib\loaders\templateLoader.js, and
myPath\saber\node_modules\vue-loader\lib\index.js, and
myPath\saber\packages\saber\vue-renderer\lib\saber-page-loader.js took 1.4 secs
module count = 15
myPath\saber\node_modules\vue-style-loader\index.js, and
myPath\saber\node_modules\css-loader\dist\cjs.js, and
myPath\saber\node_modules\vue-loader\lib\loaders\stylePostLoader.js, and
myPath\saber\node_modules\@egoist\postcss-loader\src\index.js, and
myPath\saber\node_modules\vue-loader\lib\index.js, and
myPath\saber\packages\saber\vue-renderer\lib\saber-page-loader.js took 0.113 secs
module count = 10
myPath\saber\node_modules\vue-loader\lib\loaders\pitcher.js, and
myPath\saber\node_modules\vue-style-loader\index.js, and
myPath\saber\node_modules\css-loader\dist\cjs.js, and
myPath\saber\node_modules\@egoist\postcss-loader\src\index.js, and
myPath\saber\node_modules\vue-loader\lib\index.js, and
myPath\saber\packages\saber\vue-renderer\lib\saber-page-loader.js took 0.101 secs
module count = 10
myPath\saber\node_modules\vue-loader\lib\loaders\pitcher.js, and
myPath\saber\packages\saber\lib\webpack\babel-loader.js, and
myPath\saber\node_modules\vue-loader\lib\index.js, and
myPath\saber\packages\saber\vue-renderer\lib\saber-page-loader.js took 0.096 secs
module count = 16
myPath\saber\node_modules\vue-style-loader\index.js, and
myPath\saber\node_modules\css-loader\dist\cjs.js, and
myPath\saber\node_modules\@egoist\postcss-loader\src\index.js took 0.086 secs
module count = 8
myPath\saber\node_modules\vue-loader\lib\loaders\pitcher.js, and
myPath\saber\node_modules\vue-loader\lib\index.js, and
myPath\saber\packages\saber\vue-renderer\lib\saber-page-loader.js took 0.074 secs
module count = 15
myPath\saber\node_modules\vue-loader\lib\loaders\pitcher.js, and
myPath\saber\node_modules\vue-style-loader\index.js, and
myPath\saber\node_modules\css-loader\dist\cjs.js, and
myPath\saber\node_modules\@egoist\postcss-loader\src\index.js, and
myPath\saber\node_modules\vue-style-loader\index.js, and
myPath\saber\node_modules\css-loader\dist\cjs.js, and
myPath\saber\node_modules\@egoist\postcss-loader\src\index.js took 0.004 secs
module count = 1
myPath\saber\node_modules\vue-style-loader\index.js, and
myPath\saber\node_modules\css-loader\dist\cjs.js, and
myPath\saber\node_modules\vue-loader\lib\loaders\stylePostLoader.js, and
myPath\saber\node_modules\@egoist\postcss-loader\src\index.js took 0.004 secs
module count = 1
This is the results after applying autodll (compare the Bold line with the one in the previous comment)
info Using config file: saber-config.js
info Using theme: ./src
info Using 8 plugins from config file
server: 10.12% building 1/1 modules 0 active
success Compiled server successfully in 17.1s!
SMP ⏱
General output time took 17.14 secs
SMP ⏱ Loaders
myPath\saber\node_modules\css-loader\dist\cjs.js, and
myPath\saber\node_modules\@egoist\postcss-loader\src\index.js took 10.63 secs
module count = 8
myPath\saber\node_modules\css-loader\dist\cjs.js, and
myPath\saber\node_modules\vue-loader\lib\loaders\stylePostLoader.js, and
myPath\saber\node_modules\@egoist\postcss-loader\src\index.js, and
myPath\saber\node_modules\vue-loader\lib\index.js, and
myPath\saber\packages\saber\vue-renderer\lib\saber-page-loader.js took 10.45 secs
module count = 10
myPath\saber\node_modules\css-loader\dist\cjs.js, and
myPath\saber\node_modules\vue-loader\lib\loaders\stylePostLoader.js, and
myPath\saber\node_modules\@egoist\postcss-loader\src\index.js took 8.56 secs
module count = 1
modules with no loaders took 6.65 secs
module count = 17
myPath\saber\node_modules\vue-loader\lib\index.js, and
myPath\saber\packages\saber\vue-renderer\lib\saber-page-loader.js took 4.13 secs
module count = 17
myPath\saber\packages\saber\lib\webpack\babel-loader.js took 3.35 secs
module count = 17
myPath\saber\packages\saber\lib\webpack\babel-loader.js, and
myPath\saber\node_modules\vue-loader\lib\index.js, and
myPath\saber\packages\saber\vue-renderer\lib\saber-page-loader.js took 1.26 secs
module count = 16
myPath\saber\node_modules\vue-loader\lib\loaders\templateLoader.js, and
myPath\saber\node_modules\vue-loader\lib\index.js, and
myPath\saber\packages\saber\vue-renderer\lib\saber-page-loader.js took 1.17 secs
module count = 15
myPath\saber\node_modules\vue-loader\lib\loaders\pitcher.js, and
myPath\saber\packages\saber\lib\webpack\babel-loader.js, and
myPath\saber\node_modules\vue-loader\lib\index.js, and
myPath\saber\packages\saber\vue-renderer\lib\saber-page-loader.js took 0.061 secs
module count = 16
myPath\saber\node_modules\vue-style-loader\index.js, and
myPath\saber\node_modules\css-loader\dist\cjs.js, and
myPath\saber\node_modules\vue-loader\lib\loaders\stylePostLoader.js, and
myPath\saber\node_modules\@egoist\postcss-loader\src\index.js, and
myPath\saber\node_modules\vue-loader\lib\index.js, and
myPath\saber\packages\saber\vue-renderer\lib\saber-page-loader.js took 0.052 secs
module count = 10
myPath\saber\node_modules\vue-loader\lib\loaders\pitcher.js, and
myPath\saber\node_modules\vue-loader\lib\index.js, and
myPath\saber\packages\saber\vue-renderer\lib\saber-page-loader.js took 0.05 secs
module count = 15
myPath\saber\node_modules\vue-loader\lib\loaders\pitcher.js, and
myPath\saber\node_modules\vue-style-loader\index.js, and
myPath\saber\node_modules\css-loader\dist\cjs.js, and
myPath\saber\node_modules\@egoist\postcss-loader\src\index.js, and
myPath\saber\node_modules\vue-loader\lib\index.js, and
myPath\saber\packages\saber\vue-renderer\lib\saber-page-loader.js took 0.045 secs
module count = 10
myPath\saber\node_modules\vue-style-loader\index.js, and
myPath\saber\node_modules\css-loader\dist\cjs.js, and
myPath\saber\node_modules\@egoist\postcss-loader\src\index.js took 0.039 secs
module count = 8
myPath\saber\node_modules\vue-loader\lib\loaders\pitcher.js, and
myPath\saber\node_modules\vue-style-loader\index.js, and
myPath\saber\node_modules\css-loader\dist\cjs.js, and
myPath\saber\node_modules\@egoist\postcss-loader\src\index.js, and
myPath\saber\node_modules\vue-style-loader\index.js, and
myPath\saber\node_modules\css-loader\dist\cjs.js, and
myPath\saber\node_modules\@egoist\postcss-loader\src\index.js took 0.002 secs
module count = 1
myPath\saber\node_modules\vue-style-loader\index.js, and
myPath\saber\node_modules\css-loader\dist\cjs.js, and
myPath\saber\node_modules\vue-loader\lib\loaders\stylePostLoader.js, and
myPath\saber\node_modules\@egoist\postcss-loader\src\index.js took 0.002 secs
module count = 1
success Compiled client successfully in 28.6s!
info Available at http://localhost:3000
info 177 MB memory used
SMP ⏱
General output time took 10.11 secs
SMP ⏱ Loaders
modules with no loaders took 8.001 secs
module count = 36
myPath\saber\node_modules\css-loader\dist\cjs.js, and
myPath\saber\node_modules\vue-loader\lib\loaders\stylePostLoader.js, and
myPath\saber\node_modules\@egoist\postcss-loader\src\index.js, and
myPath\saber\node_modules\vue-loader\lib\index.js, and
myPath\saber\packages\saber\vue-renderer\lib\saber-page-loader.js took 6.93 secs
module count = 10
myPath\saber\node_modules\css-loader\dist\cjs.js, and
myPath\saber\node_modules\@egoist\postcss-loader\src\index.js took 6.72 secs
module count = 8
myPath\saber\node_modules\css-loader\dist\cjs.js, and
myPath\saber\node_modules\vue-loader\lib\loaders\stylePostLoader.js, and
myPath\saber\node_modules\@egoist\postcss-loader\src\index.js took 5.48 secs
module count = 1
myPath\saber\node_modules\vue-loader\lib\index.js, and
myPath\saber\packages\saber\vue-renderer\lib\saber-page-loader.js took 2.19 secs
module count = 17
myPath\saber\packages\saber\lib\webpack\babel-loader.js took 1.57 secs
module count = 19
myPath\saber\packages\saber\lib\webpack\babel-loader.js, and
myPath\saber\node_modules\vue-loader\lib\index.js, and
myPath\saber\packages\saber\vue-renderer\lib\saber-page-loader.js took 1.035 secs
module count = 16
myPath\saber\node_modules\vue-loader\lib\loaders\templateLoader.js, and
myPath\saber\node_modules\vue-loader\lib\index.js, and
myPath\saber\packages\saber\vue-renderer\lib\saber-page-loader.js took 0.747 secs
module count = 15
myPath\saber\node_modules\vue-style-loader\index.js, and
myPath\saber\node_modules\css-loader\dist\cjs.js, and
myPath\saber\node_modules\vue-loader\lib\loaders\stylePostLoader.js, and
myPath\saber\node_modules\@egoist\postcss-loader\src\index.js, and
myPath\saber\node_modules\vue-loader\lib\index.js, and
myPath\saber\packages\saber\vue-renderer\lib\saber-page-loader.js took 0.051 secs
module count = 10
myPath\saber\node_modules\vue-loader\lib\loaders\pitcher.js, and
myPath\saber\node_modules\vue-style-loader\index.js, and
myPath\saber\node_modules\css-loader\dist\cjs.js, and
myPath\saber\node_modules\@egoist\postcss-loader\src\index.js, and
myPath\saber\node_modules\vue-loader\lib\index.js, and
myPath\saber\packages\saber\vue-renderer\lib\saber-page-loader.js took 0.048 secs
module count = 10
myPath\saber\node_modules\vue-loader\lib\loaders\pitcher.js, and
myPath\saber\node_modules\vue-loader\lib\index.js, and
myPath\saber\packages\saber\vue-renderer\lib\saber-page-loader.js took 0.044 secs
module count = 15
myPath\saber\node_modules\vue-loader\lib\loaders\pitcher.js, and
myPath\saber\packages\saber\lib\webpack\babel-loader.js, and
myPath\saber\node_modules\vue-loader\lib\index.js, and
myPath\saber\packages\saber\vue-renderer\lib\saber-page-loader.js took 0.044 secs
module count = 16
myPath\saber\node_modules\vue-style-loader\index.js, and
myPath\saber\node_modules\css-loader\dist\cjs.js, and
myPath\saber\node_modules\@egoist\postcss-loader\src\index.js took 0.031 secs
module count = 8
myPath\saber\node_modules\vue-style-loader\index.js, and
myPath\saber\node_modules\css-loader\dist\cjs.js, and
myPath\saber\node_modules\vue-loader\lib\loaders\stylePostLoader.js, and
myPath\saber\node_modules\@egoist\postcss-loader\src\index.js took 0.007 secs
module count = 1
myPath\saber\node_modules\vue-loader\lib\loaders\pitcher.js, and
myPath\saber\node_modules\vue-style-loader\index.js, and
myPath\saber\node_modules\css-loader\dist\cjs.js, and
myPath\saber\node_modules\@egoist\postcss-loader\src\index.js, and
myPath\saber\node_modules\vue-style-loader\index.js, and
myPath\saber\node_modules\css-loader\dist\cjs.js, and
myPath\saber\node_modules\@egoist\postcss-loader\src\index.js took 0.002 secs
module count = 1
So there is a 70% boost in build time for modules with no loaders
for the client
@egoist what do you think
@MarchWorks Can you send a PR for this so we can test?