There’s been quite a bit of movement in the code repository hosting space
recently. Open letters have been written. Companies are attempting to capitalize
on their competitor’s shortcomings. Those competitors have been improving their
offerings. It’s a great time to be alive!
That being said, this isn’t a post comparing GitHub’s and GitLab’s features.
This is strictly a comparison of their speed. Specifically, the time it takes to
do things that you do every day when working with a git
repository, pushing
and pulling code.
I created a brand new (empty) public repository on both GitHub and GitLab and
cloned it. Then I added a README.md
file to each repository with the same five
paragraphs of Bacon Ipsum. I committed the new file, pushed it to
master and then did a pull. The results are as follows:
GitHub
git clone 0.01s user 0.01s system 1% cpu 1.500 total
git push 0.02s user 0.01s system 1% cpu 1.556 total
git pull 0.02s user 0.02s system 5% cpu 0.675 total
GitLab
git clone 0.02s user 0.01s system 0% cpu 9.477 total
git push 0.02s user 0.01s system 0% cpu 12.317 total
git pull 0.02s user 0.02s system 0% cpu 8.515 total
I have been performing tests for the last week and GitLab has been consistently
orders of magnitude slower than GitHub for what I would consider day-to-day
usage.
Even though I’m loving the GitLab UI and their commitment to open source
projects, I’ve grown very accustomed to the speed that GitHub is able to
provide. When they aren’t having a really bad day at least 😉
I am hoping that GitLab is simply experiencing growing pains and that they will
eventually be able to provide the same (if not better) experience as GitHub in
the future.