Memory concerns #84

louis opened this Issue Dec 13, 2011 · 4 comments


None yet
2 participants

louis commented Dec 13, 2011

Hi -- first off, terrific gem! It's exactly what we've needed.

Just wondering if anyone has experienced high memory consumption with large trees? I feel like I'm seeing a fairly significant hike in memory consumption after moving to ancestry from acts_as_tree, although I haven't accurately benchmarked anything yet. Just wanted to see if anyone else has seen similar behavior.


what would you consider a large tree? What kind of scale hike do you see in memory usage?
I'm using it in a 60k node tree, but the app is memory heavy anyway, so it doesn't really show up as such.
It would make sense that it is heavier than AAT, but it would be interesting to know how much. Are we talking percentages, factors or factors of 10 you know..


louis commented Dec 14, 2011

Currently the only thing I've noticed has been that my dev. env. becomes unusable after about 30 minutes of usage because memory is around 1.3GB. I didn't see this behavior before using ancestry. Today I will continue to do more testing.

louis commented Dec 14, 2011

FWIW I just finished a simple set of tests by comparing my app pre-ancestry (using acts_as_tree) against my app using ancestry and the results were not as terrifying as I initially thought. I basically ran through 15 steps and documented memory consumption after each. At the end of the test the ruby process using acts_as_tree was 517mb; the ruby process with ancestry was 672mb.

I'll continue to monitor things as I use ancestry.

It seems to me that the difference is not big enough to suggest a real issue wiht the ancestry code. Sure, ancestry uses strings and not integers so you can expect it to be a bit heavier i suppose, but this doesn't seem like it is retaining huge amounts of referenced data that it should not retain.

Don't think there is much we can do from our end :)

@holstvoogd holstvoogd closed this Jan 19, 2012

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