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 1 commit into from Nov 4, 2016


None yet
1 participant
Copy link

commented Nov 4, 2016

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

  • #972 — “Getting "Killed" on Ubuntu 16.04.1 LTS”
Remove GCController
This is causing issues (see #972) and is not so useful anymore on Ruby
2.3+ anyway.

@ddfreyne ddfreyne modified the milestone: 4.3.8 Nov 4, 2016


This comment has been minimized.

Copy link
Member Author

commented Nov 4, 2016

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

@ddfreyne ddfreyne merged commit 2ba84b4 into master Nov 4, 2016

1 check passed

continuous-integration/travis-ci/pr The Travis CI build passed

@ddfreyne ddfreyne deleted the rm-gc-controller branch Nov 4, 2016

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