make relationship parsing to be more efficient through precomputation #743
Add this suggestion to a batch that can be applied as a single commit. This suggestion is invalid because no changes were made to the code. Suggestions cannot be applied while the pull request is closed. Suggestions cannot be applied while viewing a subset of changes. Only one suggestion per line can be applied in a batch. Add this suggestion to a batch that can be applied as a single commit. Applying suggestions on deleted lines is not supported. You must change the existing code in this line in order to create a valid suggestion. Outdated suggestions cannot be applied. This suggestion has been applied or marked resolved. Suggestions cannot be applied from pending reviews. Suggestions cannot be applied on multi-line comments. Suggestions cannot be applied while the pull request is queued to merge. Suggestion cannot be applied right now. Please check back later.
I ran into long times parsing big SPDX documents that use the
hasFiles
shortcut fields.Handling of
hasFiles
field results in the list of all relationships being iterated through for each package. This change moves the creation ofexisting_relationships_without_comments
to the top level inparse_all_relationships
.Ideally, it would be nice to use a set for more optimal look-up (but that requires Relationship to be hashable, and probably would like a bit more input on how'd you think that would be better implemented).