elasticsearch/logstash — pull request #2107 by jsvd (2014-11-20 13:55:07+00:00)
Title: install default plugins via bundler

you know, for speed.

This is an attempt to speed `rake artifact` tasks. One of the major factors slowing the process is the Gem::DependencyInstaller#install method, called for each plugin. This method will check the dependencies for the gem, meaning dependencies are checked ~100 times during the rake task.

An alternative is to hand out all the gems to bundler and have it figure out dependencies and install order in 1 go.

The approach also removes the ~100 "system" calls to "bin/plugin install" (each spawns a jvm instance).

This reduces the run time by ~60% in my tests (before: 36 minutes. now: 12 minutes).

I'm not sure if there's any negative impact on this approach, please review.