Use git-linguist to implement CommitLanguages
Advantages:
- gitaly-ruby base memory footprint drops from 110MB to 10MB
- avoids memory leaks in long-running multi-threaded process gitaly-ruby
- uses built-in disk caching from
git-linguist
(speeds up calculation from 12s to 4s, including boot time, on gitlab-ce repo)
Disadvantages:
- each CommitLanguages request will take 2-3s at minimum just to boot
git-linguist
- each CommitLanguages request will use at least 100MB of RAM to boot
git-linguist
Edited by Jacob Vosmaer (GitLab)