Reduce allocations in dependency construction
By always passing around a single, unnested array rather than splatting and then defensively flattening and compacting things, we can avoid allocating a bunch of unnecessary arrays. This gives a performance boost of roughly 4% when enumerating 2500 formulae, and has the side effect of cleaning up the dependency API.
Showing
- Library/Homebrew/dependency.rb 2 additions, 2 deletionsLibrary/Homebrew/dependency.rb
- Library/Homebrew/dependency_collector.rb 38 additions, 36 deletionsLibrary/Homebrew/dependency_collector.rb
- Library/Homebrew/requirement.rb 2 additions, 2 deletionsLibrary/Homebrew/requirement.rb
- Library/Homebrew/requirements/language_module_dependency.rb 1 addition, 1 deletionLibrary/Homebrew/requirements/language_module_dependency.rb
- Library/Homebrew/requirements/x11_dependency.rb 4 additions, 5 deletionsLibrary/Homebrew/requirements/x11_dependency.rb
- Library/Homebrew/test/test_comparableset.rb 6 additions, 6 deletionsLibrary/Homebrew/test/test_comparableset.rb
- Library/Homebrew/test/test_dependency.rb 2 additions, 2 deletionsLibrary/Homebrew/test/test_dependency.rb
- Library/Homebrew/test/test_dependency_collector.rb 1 addition, 1 deletionLibrary/Homebrew/test/test_dependency_collector.rb
- Library/Homebrew/test/test_requirement.rb 2 additions, 6 deletionsLibrary/Homebrew/test/test_requirement.rb
Loading
Please register or sign in to comment