Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Speed up tags lookup #44

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

mrdziuban
Copy link

For repositories with a large number of tags, the call to all_from_path can take a significant amount of time, because it gets all tags, then checks to see if all of them are contained_in_current_branch?.

Here's an example of a repository with 234 tags that all match the version format regex. Before these changes, the checks to contained_in_current_branch? took ~10 seconds:

screen shot 2016-03-10 at 11 00 22 am

After these changes, the lookup took 0.05 seconds, because it only had to call contained_in_current_branch? once:

screen shot 2016-03-10 at 11 00 40 am

I don't have enough knowledge of p4 to implement a similar change in P4Version, so I just have it calling all_from_path(path).first for now.

the latest tag.

The `from_path` method only cares about the most recent tag in the given
path, so it's inefficient to check to see if all tags are
`contained_in_current_branch?`, when we're only going to use the first
one anyway.
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