hammerlab/guacamole — pull request #227 by timodonnell (2014-11-12 17:56:26+00:00)
Title: Speedup Pileup.atGreaterLocus by using a vector for PileupElement

Seq in scala defaults to a List implementation, which takes O(n) time for
append. This commit changes Pileup to use a Vector-backed Seq for PileupElement
instances, which makes Pileup.atGreaterLocus much faster. The interface to
Pileup stays the same.

On my single-node tests, this gives about about a 20% speedup in overall
variant calling time (on one test: 5 min 7 sec -> 3 min 55 sec).