On Thu, Jul 5, 2012 at 12:28 AM, DEGREMONT Aurelien <aurelien.degrem...@cea.fr> wrote: > Le 04/07/2012 19:29, Brice Figureau a écrit : > >> Fixing #2198 [1] would be a very good start, then parallelize >> non-dependent sub-trees. In a word, that's not easy. > > I know that's would the *true* way to speed up puppet agent. But, as you > said, I think this is far from trivial. But I do not enough of puppet > internal to be sure about that.
It is a big win for people who have a slow package tool, like folks using yum - there, there is a potentially multi-second cost to every invocation of yum that is paid repeatedly at the moment. Unfortunately, that change is neither necessary or sufficient to address the second part: It is not necessary, in that we could identify and run in parallel independent subtrees today. It is not sufficient, in that it addresses some-but-not-all of the potential resource conflicts: many tools, including but not limited to the package manager, will fail if you run them concurrently. We have no easy way to identify that, and since the set of tools is (as good as) unbounded and unknowable from our perspective, unless we wanted to open the door to random failures over conflicts, or the Maelstrom approach[maelstrom], we would need to make that opt-in. That would ... probably not show a lot of short-term performance gain for you. The static compiler, or implementing #2198, would because they attack specific performance headaches. [maelstrom]: http://dl.acm.org/citation.cfm?id=1047538 > But, as shown in graph in topic "Trying to isolate performance issues with > config retrieval." there is room for improvements, only doing some > profiling/patching I think. There is unjustified slowness in several places. Absolutely. One sad part is that some of that comes from the Ruby VM, which has terribly slow GC and object allocation, and makes both of those common operations. (Well, technically, only the later, but it leads to the former. ;) -- Daniel Pittman ⎋ Puppet Labs Developer – http://puppetlabs.com ♲ Made with 100 percent post-consumer electrons -- 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.