Issue #1965 has been updated by luke.

Status changed from Accepted to Ready for Testing

I've implemented an initial version of this in the refactor/0.24.x/fewerfiles 
branch in my repo.

If anyone experiencing RAM problems could give this a try, I'd like to hear if 
it has any impact on the server.  I expect it'll have a bigger impact there 
than on the client, especially for people with large amounts of code, which is 
particularly true on sites that use multiple environments.

I've done a bit of testing, and looks like there's about a 7x benefit to using 
a simple hash to translate the filename to the index.  This results in two 
copies of each file name, worst case.
----------------------------------------
Bug #1965: File paths take up much memory
http://projects.reductivelabs.com:80/issues/1965

Author: luke
Status: Ready for Testing
Priority: Normal
Assigned to: luke
Category: plumbing
Target version: 0.25.0
Complexity: Unknown
Affected version: 0.24.7
Keywords: 


Larry Ludwig and I did some memory leak analysis, and found that, especially 
with multiple environments, file paths can take a significant amount of memory. 
 Based on some simplistic analysis, they can take up to 50% of the memory in 
the master.

We need some kind of file collection we can use to store no more than one copy 
of each file path during parsing.

We should probably have a similar file collection in use on the client, since 
each resource and parameter also stores the file that it was defined in.  Then 
we use a FileMangler module or something that interactions with this 
collection.  Something like:

<pre>
module Puppet::Util::FileMangler
  def file=(path)
    @file_reference = file_collection.file_reference(@path)
  end

  def file
    file_collection.file_path(@file_reference)
  end
end
</pre>


----------------------------------------
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://reductivelabs.com/redmine/my/account

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/puppet-bugs?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to