From 065a1d0281ba326674e37a00d8ced1e3a2dd57e4 Mon Sep 17 00:00:00 2001 From: Luke Kanies Date: Wed, 7 Nov 2007 17:48:50 -0600 Subject: Switching the graph base class from GRATR::Digraph to Puppet::SimpleGraph, which should dramatically enhance performance. It should be largely functionally equivalent, with the only difference being that edges are no longer deduplicated. --- lib/puppet/pgraph.rb | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) (limited to 'lib/puppet/pgraph.rb') diff --git a/lib/puppet/pgraph.rb b/lib/puppet/pgraph.rb index ca45aa2b3..49fd21401 100644 --- a/lib/puppet/pgraph.rb +++ b/lib/puppet/pgraph.rb @@ -4,11 +4,13 @@ require 'puppet/external/gratr/digraph' require 'puppet/external/gratr/import' require 'puppet/external/gratr/dot' + require 'puppet/relationship' +require 'puppet/simple_graph' # This class subclasses a graph class in order to handle relationships # among resources. -class Puppet::PGraph < GRATR::Digraph +class Puppet::PGraph < Puppet::SimpleGraph # This is the type used for splicing. attr_accessor :container_type @@ -23,13 +25,6 @@ class Puppet::PGraph < GRATR::Digraph @reversal = nil super end - - def clear - @vertex_dict.clear - if defined? @edge_number - @edge_number.clear - end - end # Make sure whichever edge has a label keeps the label def copy_label(source, target, label) @@ -149,7 +144,7 @@ class Puppet::PGraph < GRATR::Digraph # Now get rid of the edge, so remove_vertex! works correctly. remove_edge!(edge) Puppet.debug "%s: %s => %s: %s" % [container, - edge.source, edge.target, edge?(edge)] + edge.source, edge.target, edge?(edge.source, edge.target)] end end remove_vertex!(container) -- cgit