Issue #5200 has been updated by Markus Roberts.

Just to clarify, I linked the two autorequire tickets due to implicit 
conceptual collision between the issues discussed on the respective threads on 
puppet-dev; specifically, those tickets propose expanding / extending the 
autorequire functionality while Luke's 
refactor/master/3691-no_relationship_graph branch, which he suggested as an 
alternate resolution on the thread for this ticket removes autorequire 
functionality and it's not immediately clear (to me at least) how it could be 
restored in that model.  

I think eliminating the second graph as Luke's branch does is the right idea, 
and I think representing containment with bracket node as Tervor, Jesse and 
other have advocated is better than adding edge types.  But I'm not yet seeing 
how either idea can work in actual code.  Just adding bracket nodes as an added 
complication in splice! looks like the easiest, though significantly less 
efficient.  In short, I'm finding myself in agreement with pretty much everyone 
on the details and with almost no one on the big picture.


----------------------------------------
Bug #5200: Many-to-many implementation of stages needlessly inefficient
https://projects.puppetlabs.com/issues/5200

Author: Markus Roberts
Status: Accepted
Priority: Normal
Assignee: Markus Roberts
Category: performance
Target version: Statler
Affected Puppet version: 2.6.0
Keywords: 
Branch: 


Trevor Vaughan reports:

<blockquote>
Stages appear, by default, to generate a many-to-many dependency graph.

By adding 'pre' and 'post' stages that contain a single item, the graphs are 
vastly reduced in complexity and we're seeing something like a 3X speedup in 
graph execution in simple test cases.

I've attached a couple of puppet files illustrating the issue with their 
associated graphs.

If the graphs could be auto-reduced to a single point prior to execution 
automatically, it would be quite helpful.
</blockquote>

I believe the savings could be even greater in complex situations.  We had 
discussed addressing this internally by creating a whit (null resource) but the 
idea apparently did not make it into code.  It should be an easy win.


-- 
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://projects.puppetlabs.com/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