Optimize GitHub importer for speed and memory
What does this MR do?
It applies some improvements to GitHub importer. Importing of a private GH repo (~1500 issues, ~180 PRs, ~3600 commits), was taking over 30 minutes and memory usage reached 950 MB, after these changes it took 8 minutes and memory was at 700 MB max (for both cases, Sidekiq starts at ~400 MB).
Are there points in the code the reviewer needs to double check?
Why was this MR needed?
People are asking for it, see issues below.
Screenshots (if relevant)
Does this MR meet the acceptance criteria?
- CHANGELOG entry added
API support added
Added for this feature/bug
- All builds are passing
- Conform by the merge request performance guides
- Conform by the style guides
Branch has no merge conflicts with
master(if you do - rebase it please)
- Squashed related commits together