saberland/saber

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

posted by MarchWorks over 5 years ago

@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

posted by egoist over 5 years ago

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

posted by MarchWorks over 5 years ago

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
posted by MarchWorks over 5 years ago

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
posted by MarchWorks over 5 years ago

So there is a 70% boost in build time for modules with no loaders for the client @egoist what do you think

posted by MarchWorks over 5 years ago

@MarchWorks Can you send a PR for this so we can test?

posted by egoist over 5 years ago

Fund this Issue

$0.00
Funded
Only logged in users can fund an issue

Pull requests