Improve performance of Pod::Source#search
#416
Merged
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.
Within
source.rb
, just by calling:It calls
Pod::Specification::Set#specification
which will call twice the expensivehighest_version_spec_path
method.There is no need for us to get the highest version spec if the only thing we need is the name of the specification, which should not be any different given all Podspec names are unique.
This actually saves about 7%-9% in
pod install
time for a large project that contains a specific pod with 200+ versions (we publish a version nightly). It brought down ourpod install
from ~53 seconds to ~48 seconds.set.rb
appears immutable so there is no need to evict any of the caching.