Thanks for your reply. It seems that the behavior does not occur
with a minimal directed graph but does occur when you add attributes
to the edges. The inner loop, I think, is at Graph::_edges_to
beginning at line 836 as below:
while (my ($ei, $ev) = each %{ $Ei }) {
next unless @$ev;
push @e, [ $ei, $ev ]
if $ev->[-1] == $vi && !$ev{$ei}++;
The attached file gives a test case and you should be able to see the
dependence on number of edges with the calls below, e.g.
perl -d:DProf ./testPred.pl 100 1000 10000
perl -d:DProf ./testPred.pl 100 3000 10000
Thanks,
Jonathan
On Sat, Dec 20, 2008 at 2:21 PM, Jarkko_Hietaniemi via RT
<bug-Graph@rt.cpan.org> wrote:
Show quoted text> <URL:
https://rt.cpan.org/Ticket/Display.html?id=41736 >
>
> Could you point out the loop you mention and/or provide me with a test case? I tried creating
> large test graphs of various sizes and then asking for predecessors, and the response time
> didn't see to be a function of the number of edges.
>
>
>
--
617 413 6423