Skip to content

Change loom.alg-generic/pre-traverse to do much less work#120

Open
jafingerhut wants to merge 1 commit intoaysylu:masterfrom
jafingerhut:lazier-pre-traverse
Open

Change loom.alg-generic/pre-traverse to do much less work#120
jafingerhut wants to merge 1 commit intoaysylu:masterfrom
jafingerhut:lazier-pre-traverse

Conversation

@jafingerhut
Copy link
Copy Markdown

especially if the graph is dense with edges for a node that is
traversed, but the returned lazy sequence is not ever evaluated to get
to those nodes.

Also eliminate a stack-growing recursive call, using recur instead.
The previous version could grow the call stack nearly as deep as the
number of edges in the graph.

especially if the graph is dense with edges for a node that is
traversed, but the returned lazy sequence is not ever evaluated to get
to those nodes.

Also eliminate a stack-growing recursive call, using recur instead.
The previous version could grow the call stack nearly as deep as the
number of edges in the graph.
@jafingerhut
Copy link
Copy Markdown
Author

I was using pre-traverse to do a partial DFS of some large graphs where some nodes had very high degree, and found that it was doing a lot of unnecessary work for edges in the graph that were never 'crossed' by my partial DFS.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant