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

Strange behaviour: Build script gets slower #84

Open
sascha53 opened this issue Apr 29, 2016 · 3 comments
Open

Strange behaviour: Build script gets slower #84

sascha53 opened this issue Apr 29, 2016 · 3 comments

Comments

@sascha53
Copy link

sascha53 commented Apr 29, 2016

I recognized some strange behaviour:

Spress is installed on a local VM (Vagrant/Homestead). I started experimenting with the static site generator and did multiple times the site:build command to generate the site. I have 5-11 items to build (the strange behaviour seems not to depend on the number of items/pages).

After some time the build process takes longer, and longer, and longer. About 4-10 seconds for generating about 10 pages. If i reduce the number of pages, this has no effect. If i change the twig templates (from complicated) to basic, this has no effect. If i change my custom config.yml to nothing, this has no effect.

If i do a fresh install in a new folder, build time in the beginning is ok, but gets slower over time (after more an more site:build commands).

Also i recognized that the actual build (generating the folder and pages) is still fast, but the execution of the script takes more and more time. So the wait after the "OK Success!" Message gets longer and longer. I can abort the script at this point manually with CTRL+C, but that seems not ok for me. Also this works very bad with various build system or task runners und watch out there (including robo.li).

My questions: Has someone else experienced a issue like that? What could be the reason for that strange behaviour?

I really like to use Spress, but this i holding me off for now.
I could not replicate this issue with the "alternatives" Sculpin, Jigsaw and Katana in the same environment. (Jigsaw and Katana don't have custom post types/collections and Sculpin looks great at first, but has some permalink issues (for my case) and is obviously not very actively developed at this point.)

Thanks in advance.

@sascha53
Copy link
Author

Too be more specific...

Fresh install (with same content and settings dropped in, executed via Robo, but it doesn't matter if i execute it directly or via the task runner):

 [Exec] Running spress site:build

Starting...
Environment: dev

Total items: 12

 [OK] Success!                                                                                                          

 [Exec] Done in 0.455s

Not so fresh install (all the same, but install is couple hours old and i did couple of times the site:build command before):

 [Exec] Running spress site:build

Starting...
Environment: dev

Total items: 11

 [OK] Success!                                                                                                          

 [Exec] Done in 4.291s

And it gets even "better", this one is a couple of days old and i did even more site:build commands before:

 [Exec] Running spress site:build

Starting...
Environment: dev

Total items: 11

 [OK] Success!                                                                                                          

 [Exec] Done in 36.152s

(Oh, i see the first and fasted one has even one more item, this is one more picture in folder.)

This is what i mean by strange. :-)

@sascha53
Copy link
Author

sascha53 commented Apr 29, 2016

Ok, to safe you some time, I found the reason and i my opinion it's a bug, that should be corrected.

The slower installations had some more folders and files, but not in the src directory. I didn't thought about this because Spress should only do things in the src (and build) directory, right? In the root, outside of the source directory i had two more folders: vendors (for php, which i need) and node_modules (which i don't really need, was just a test). Removing both directories, which have lots of files and folders in it, especially the node_modules, makes Spress fast again. Again, it's not that i ran these scripts from the node_modules or vendor folders in the tests above.

So i guess the build script iterates through these directories after the actual build but before terminating the execution of the script. If Spress is doing this or somethings like that, then why and can it be changed.

Thanks.

One more: I thought Sculpin has a similar architecture (i could be wrong at this point) and dropped the big node_modules and vendor folders in it too. It is not affected by this.

@yosymfony
Copy link
Member

Hi. Spress only work in the src folder and make build folder for writing the compiled site. vendor folder is produced by Composer in case of plugins dependencies. The described behavior is strange. I will make a review of the code looking for iterations over root site folder

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

No branches or pull requests

2 participants