On Thu, 2012-07-05 at 17:11 -0700, Andrew Parker wrote: > On Jul 5, 2012, at 2:20 PM, Brice Figureau wrote: > > >> > >> Absolutely agree. Andy and team are working hard on exactly this. > > > > That's really good. I'm going to try to profile one of my largest node > > agent (in noop mode) to see what it gives. This might point to some part > > of the code that we could optimize (ie low hanging fruits). > > > > Let us know what you come up with. We are still going over your > patches. Even though they are small changes, we are trying to use what > they show to inform structural changes that should address many of the > same concerns and leave the overall code in a better state. For > instance, the commit that creates a cache of not found types > (https://github.com/masterzen/puppet/commit/6a4a208796839a2a02517bd0841b9e99164b2a22) > seems to be there to limit stat calls when scanning for files and > directories.
Yes, we constantly stat file over and over, especially stating things that don't exist. The problem is when the type loader tries to load globally scoped definition (while checking for a given resource type). It tries to find it in the current module the definition is in use, and for this, it ends up in Puppet::Module.match_manifest which does some related file stat/operations. > By moving a couple of things around I think we can cache those calls > instead of needing to keep the cache of not found types. We'll keep > you posted on what we come up with. Thanks, I'm looking forward to that! -- Brice Figureau Follow the latest Puppet Community evolutions on www.planetpuppet.org! -- You received this message because you are subscribed to the Google Groups "Puppet Developers" group. To post to this group, send email to puppet-dev@googlegroups.com. To unsubscribe from this group, send email to puppet-dev+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-dev?hl=en.