aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew
diff options
context:
space:
mode:
authorhazz2012-08-08 22:25:04 +0100
committerMax Howell2012-08-09 11:58:58 -0400
commitbef8e25a419c23100babd3d50b03c57c941dcc22 (patch)
tree94278fd0b61bef4467a1a8c55e66ae520da39d16 /Library/Homebrew
parent0cf17ad43ed1a060b612fd5f133ecd503efa450f (diff)
downloadhomebrew-bef8e25a419c23100babd3d50b03c57c941dcc22.tar.bz2
Run each search_tap in a separate thread to speed things up.
Closes #14066. Signed-off-by: Max Howell <mxcl@me.com>
Diffstat (limited to 'Library/Homebrew')
-rw-r--r--Library/Homebrew/cmd/search.rb19
1 files changed, 13 insertions, 6 deletions
diff --git a/Library/Homebrew/cmd/search.rb b/Library/Homebrew/cmd/search.rb
index 1b59e2d72..4f2481db9 100644
--- a/Library/Homebrew/cmd/search.rb
+++ b/Library/Homebrew/cmd/search.rb
@@ -31,12 +31,19 @@ module Homebrew extend self
if query
$found = search_results.length
- # TODO parallelize!
- puts_columns search_tap "josegonzalez", "php", rx
- puts_columns search_tap "Homebrew", "versions", rx
- puts_columns search_tap "Homebrew", "dupes", rx
- puts_columns search_tap "Homebrew", "games", rx
- puts_columns search_tap "Homebrew", "science", rx
+ threads = []
+ results = []
+ threads << Thread.new { search_tap "josegonzalez", "php", rx }
+ threads << Thread.new { search_tap "Homebrew", "versions", rx }
+ threads << Thread.new { search_tap "Homebrew", "dupes", rx }
+ threads << Thread.new { search_tap "Homebrew", "games", rx }
+ threads << Thread.new { search_tap "Homebrew", "science", rx }
+
+ threads.each do |t|
+ results << t.value
+ end
+
+ results.each { |r| puts_columns r }
if $found == 0 and not blacklisted? query
puts "No formula found for \"#{query}\". Searching open pull requests..."