Skip to content

Latest commit

 

History

History
53 lines (39 loc) · 2.2 KB

debug-performance.md

File metadata and controls

53 lines (39 loc) · 2.2 KB
eleventyNavigation excludeFromSidebar layout
key parent excerpt order
Performance
Debugging
How to analyze your Eleventy build to find bottlenecks.
1
true
layouts/docs.njk

Performance

{% callout "info" %}You’ll probably want to read the Debugging documentation before continuing here.{% endcallout %}

Eleventy by default will warn you if certain pieces of your build take longer than 8% of your total build time. This list includes:

This list is not considered to be exhaustive. It’s just what has been implemented thus far!

Show All Performance Measurements

{% addedin "0.11.0" %} You can use the following debug command to show performance measurements for all of these entries (not just those that take longer than 8%).

Mac OS (or Linux, etc)

DEBUG=Eleventy:Benchmark* npx @11ty/eleventy

Windows

set DEBUG=Eleventy:Benchmark* & npx @11ty/eleventy

Aggregate Benchmarks

We also have a special category of aggregate benchmarks to do higher level analysis. Look for entries like:

Benchmark (Aggregate): Searching the file system took 40ms (0.5%, called 2×, 19.9ms each) +0ms
Benchmark (Aggregate): Data File took 134ms (1.8%, called 405×, 0.3ms each) +0ms
Benchmark (Aggregate): Template Read took 682ms (9.0%, called 600×, 1.1ms each) +0ms
Benchmark (Aggregate): Passthrough Copy File took 924ms (12.2%, called 669×, 1.4ms each) +0ms
Benchmark (Aggregate): Template Compile took 366ms (4.8%, called 1526×, 0.2ms each) +0ms
Benchmark (Aggregate): Template Render took 1215ms (16.1%, called 949×, 1.3ms each) +0ms
Benchmark (Aggregate): Template Write took 2088ms (27.6%, called 312×, 6.7ms each) +0ms

Note that while we do make every attempt to make these as accurate as possible, the percentages for these entries may be greater than 100% due to the asynchronous nature of these tasks (passthrough copy especially).