Cache ivy report dependency traversals consistently

Review Request #1557 - Created Dec. 31, 2014 and submitted

Information
Nick Howard (Twitter)
pants
80ec512...
Reviewers
pants-reviews
jsirois, lahosken, tejal

For depmap calls using project-info format, up to ~30% of the time was taken by re-traversing the dependency graph from the ivy report xml. After this change, that drops to ~6%.

This encapsulates memoizing and cycle handling into a single method, and replaces the memoization / cycle handling done outside ivy utils with calls to the new method. It also adds a few tests for reports with cycles and diamond dependencies.

ran unit tests locally, ran depmap task that saw perf changes.

CI baking https://travis-ci.org/pantsbuild/pants/builds/45562942

new, return enabled CI baking https://travis-ci.org/pantsbuild/pants/builds/46478083

Larry Hosken
John Sirois
Tejal Desai
David Turner
David Turner
Nick Howard (Twitter)
Nick Howard (Twitter)
Nick Howard (Twitter)
David Turner
David Turner
Nick Howard (Twitter)
Review request changed

Status: Closed (submitted)

Loading...