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

Major performance issues #2164

Open
pronvit opened this issue Sep 15, 2016 · 1 comment

Comments

@pronvit
Copy link

commented Sep 15, 2016

Trying to investigate why Hexo is so slow, I found an interesting thing. Hexo always renders ALL files, even if no files are changed, and then rendering result for unchanged files is discarded.

Moreover, when rendering each file, it loads ejs templates and partials from the theme again and binds all the helpers, i.e. no template caching exists.

For example, for my not very bid site these two problems together lead to various ejs templates being processed 4500+ times and helpers being bound (https://github.com/hexojs/hexo/blob/master/lib/theme/view.js#L78) 217000+ times (!) - always, even if no files are changed.

Any comments on this and plans to fix?

@leesei

This comment has been minimized.

Copy link
Member

commented Jun 12, 2017

Thanks for your effort in pointing out the bottlenecks.
Indeed Hexo's rendering pipeline can be improved. Yet without documentation of how it works it's hard to have an overall optimization.

That said, Hexo do have fragment_cache. But some themes are not using it properly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
3 participants
You can’t perform that action at this time.