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

Remove GCController #975

Merged
merged 1 commit into from Nov 4, 2016
Merged

Remove GCController #975

merged 1 commit into from Nov 4, 2016

Conversation

denisdefreyne
Copy link
Member

Stop playing around with the GC manually.

Detailed description

Previous versions of Nanoc (3.x) had the problem of occasionally running very slowly due to spending large amounts of time in the garbage collector (79% for one site).

As a temporary workaround until either Nanoc and/or Ruby improved memory handling, I added a GCController which disables and enables the GC at certain times in order to eliminate needless GC activity. I knew from the start that this was a hack and would cause problems, but luckily very few people reported having problems with it—until now, I guess (#972).

Ruby 2.2 and up have generational GC, which greatly reduces the demand on the garbage collector. This should eliminate the need for this GC hack.

Related issues

This is causing issues (see #972) and is not so useful anymore on Ruby
2.3+ anyway.
@denisdefreyne
Copy link
Member Author

Interesting: removing the GC speed hack leads to a 10%-20% speed improvement for nanoc.ws here.

@denisdefreyne denisdefreyne merged commit 2ba84b4 into master Nov 4, 2016
@denisdefreyne denisdefreyne deleted the rm-gc-controller branch November 4, 2016 08:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant