puppetlabs/puppet — pull request #948 by daniel-pittman (2012-07-17 23:42:43+00:00)
Title: reduce Puppet memory footprint

This reduces the Puppet memory footprint. My main focus was to reduce the amount of data mutated or generated internally, where possible, so that we have less work to do in the garbage collector.

By my metrics this ran from ~ 260MB down to about 200MB, so around a 25 percent reduction in garbage.

Performance qua runtime wasn't my primary goal in the work, but it was apparently a side-benefit: I see my rspec test suite runs change from about 3:20 down to about 1:45 or so, which isn't quite being cut in half, but isn't too far off.

I also see a couple of seconds, on average, shaved off the runtime of the agent on my test suite.