symbols: Split calls to git archive
Created by: chrismwendt
Prior to this change, the symbols
service would fall back to a full git archive
when the paths were too long.
After this change, it will split a big list of paths into batches and call git archive
on each batch. This is more efficient than falling back to a full git archive
.
On sourcegraph/sourcegraph
:
-
git archive
without paths (meaning a full archive) takes 549ms -
git archive
with all of the paths takes 652ms -
git archive
with half of the paths takes 363ms