Performance, PRs and bugfixes (week 16)

2017/07/17–2017/07/23

Tobias Koppers
Jul 24, 2017 · 1 min read

This week I reviewed and merged a lot for PRs from contributors about bugs and performance improvements. I also fixed a crash in the Scope Hoisting plugin that occurs when using the default export of the root module.

And I spend that rest of the week profiling different webpack builds and improving the performance for these:

  • Rewriting code that uses unshift to push helps scaling when arrays grow.
  • There were some low hanging fruits in the AggressiveSplittingPlugin, so I achieved a large performance boost here.
  • Some smaller improvements in the Resolver implementation.

The performance wins depends heavily on your application. In most apps are transpiliers (typescript, babel) the bottleneck anyway (Look into cache-loader for a persistent cache of the transpiled source code).

Plan for next week:

  • Release a new minor webpack version
  • Write a documentation page about build performance and all the options/tradeoffs available
  • Implement a persistent cache for the Resolver, which is the most expensive part of webpack (much I/O)

< week 15 week 17 >


webpack is not backed by a big company, unlike many other big Open Source products. The development is funded by donations. Please consider donating if you depend on webpack… (Ask your boss!)

Special thanks to these sponsors: (Top 5)

webpack

The official Medium publication for the webpack open source project!

Tobias Koppers

Written by

webpack

webpack

The official Medium publication for the webpack open source project!

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade