JavaScript-Bootup-Time
This audit measures the total impact of JavaScript on your page's load performance.
JavaScript can slow down your page in many ways:
- Network cost - More bytes equals longer download times.
- Parse and compile cost - JavaScript gets parsed and compiled on the main thread. When the main thread is busy, the page can't respond to user input.
- Execution cost - JavaScript is also executed on the main thread. If your page runs a lot of code before it's really needed, that also delays your Time To Interactive, which is one of the key metrics related to how users perceive your page speed.
- Memory cost - If your JavaScript holds on to a lot of references, it can potentially consume a lot of memory. Pages appear janky or slow when they consume a lot of memory. Memory leaks can cause your page to freeze up completely.
Recommendations
- Only send the code that your users need.
- Minify your code.
- Compress your code.
- Remove unused code.
- Cache your code to reduce network trips.
Tools
Use Closure Compiler or UglifyJS
npm install uglify-js
uglifyjs [input files] [options]