Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build times are long for large sites #208

Open
LoneRifle opened this issue Nov 20, 2020 · 5 comments
Open

Build times are long for large sites #208

LoneRifle opened this issue Nov 20, 2020 · 5 comments
Labels
P1 Important and urgent

Comments

@LoneRifle
Copy link
Contributor

LoneRifle commented Nov 20, 2020

Due to the single-threaded nature of Ruby, Jekyll builds are less viable for sites of potentially thousands of pages. This is a problem for Netlify, which imposes a strict 15 minute build time limit on preview builds, which in turn gate pull requests.

This can have significant impact for sites which requires content to be updated immediately

Jekyll 4 resources:
https://jekyllrb.com/docs/upgrading/3-to-4/
https://github.com/github/pages-gem#list-dependency-versions

@LoneRifle
Copy link
Contributor Author

Possible approaches:

  • Parallelism - allow sections of a site to be built in parallel. May require that we use a build script for all Isomer sites, which would dovetail with centralising of CSP, Gemfiles, etc
  • Jekyll 4, which features performance improvements with buildtime template caches

@lisa-kwok lisa-kwok added the P1 Important and urgent label Nov 24, 2020
@lisa-kwok
Copy link
Contributor

To add on to this thread. We've explored the user of Amplify but still did not manage to get incremental builds to work

@lisa-kwok
Copy link
Contributor

Have migrated GoBusiness to Amplify

@LoneRifle
Copy link
Contributor Author

Moved GoBusiness back to Netlify pending investigation of unresponsiveness to GitHub webhook notifications

@LoneRifle
Copy link
Contributor Author

Profiling of the large sites show that the lion's share of the time is spent generating breadcrumbs. Liquid is known to struggle with iterative loops, which is being used extensively in the relevant part of the template

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P1 Important and urgent
Projects
None yet
Development

No branches or pull requests

2 participants