Performance, PRs and bugfixes (week 16)
2017/07/17–2017/07/23
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
unshifttopushhelps 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)
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)
- ag-Grid (DataGrid) donated a total of $12,500
- Capital One (Bank) donated a total of $12,000
- AngularClass (Training) donated a total of $3,518
- Google Angular (Framework) donated a total of $2,500
- OpenCollective (OS funding) donated a total of $2,397
- Full list
