-
Notifications
You must be signed in to change notification settings - Fork 332
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
Incremental builds (faster publish) #130
Comments
The problem is that not all content is derived from a file. I'm thinking of adding something like a |
Sounds like a good solution. |
Do you think incremental builds could be done in a way that enables caching to disk? For example, to survive a restart of the preview server. |
@mjpizz yeah, that would be possible. When this is implemented i plan to put a memory cache in front of the preview server, that cache could just as easily be a disk cache. But why would you want to have persistent caching for the preview server? |
The main issue is performance during development and previewing. Once we're over 1000 articles, it would be nice if wintersmith didn't have a 30s-1min bootup time, and if individual page changes were updated more-or-less instantly. For example: consider a "related articles" plugin. This might require scanning all 1000 articles to find the ones that share a specific tag before rendering. Cold booting the preview server in this case might become a pretty intensive process of basically rebuilding an in-memory index every time somebody sits down to hack on the design. Optional cache persistence via a simple database (or even JSON flatfile) would probably help cold-boot-for-large-websites quite a bit. Do you think it makes sense? |
@mjpizz hmm, the cache im talking about here wouldn't help in that case. Wintersmith needs to build up the content tree on startup, that would have to be a separate cache and each content plugin instance have to be able to be (de)serialized . When harmony proxies lands in node we could do something like only create the instances on the content tree when they are accessed, that along with the output cache would solve most performance problems for large projects. |
Sorry guys but this might be a little tangent - How and where do you deploy your content? I personally have created a Gruntfile to publish to Github which I don't feel is very elegant. |
@tusharmath Very tangent :) I rsync to my own server. It takes seconds. |
Due to the size of my blog, running build takes between 30 and 120 seconds.
There are 279 posts, but I suspect what makes it slow is the 220 Mb of images the posts contain.
Possible solutions:
Thanks!
The text was updated successfully, but these errors were encountered: