It’s been over a year since I had last compared the speed of GitHub versus that
of GitLab.
In that time Github was sold to Microsoft and I’ve been adopting GitLab for all
of my projects (completely unrelated to the sale, I promise 😉
The reason for moving from GitHub to GitLab has been two fold for me.
First, I really like how you can do a bit more nesting and organization to your
repositories. I group all of my “business” stuff underneath a Gravity Boulevard
group, and then have groups for each of my side projects with one or more
repositories in there.
This is perfect for client work as I have all of my client projects grouped in a
similar way.
I already pay for GitHub, but to achieve even an organizational grouping would
mean paying 25$ more per month, just for myself. That’s per organization so I’d
pretty much be cash broke if I was paying for an organization for everyone of my
many side projects.
The other reason for moving to GitLab has been their built in Continuous
Integration and Deployment tools.
I love having everything in one place, eliminating the need to stitch together
disparate services and have to potentially get a Hubot involved.
The tools are more than sufficient and considering I’m not even paying GitLab a
dime, the availability of the offerings to the free users is quite generous.
For what it’s worth, even though I’m doing just fine on the free tier with
GitLab, I did order some swiggity swag to deck out my new laptop (System76
Galago Pro, review to follow soon 😉
Okay, so this speed comparison. As I’ve mentioned in the past, pushing and
pulling to and from git repositories is pretty much something I do every single
day.
Hell, even this blog post involved a git push
to get this post published!
With that, I strongly believe that these operations need to be as speedy as
possible since they are happening multiple times a day. This belief is what led
to the original comparison I did back in 2016
This year, I’m doing exactly what I did last year, running git clone
, push
and pull
operations 10 times each and reporting the findings.
As per last year’s results, GitLab performed worse, but it was nearly a trivial
amount.
Let’s take a look at this year’s report:
GitHub | GitLab | |
---|---|---|
git clone |
0.9413s | 1.9053s |
git pull |
0.9777s | 1.7477s |
git push |
0.9995s | 2.0255s |
I’m not going to comment on how this compared to previous numbers because to be
honest, I’m not entirely sure which part of the time
output I had used the last
times.
This go around, I averaged the value of the total number from the time
command.
Even though GitLab is still clocking in slower than GitHub for basic git
commands, I still think GitLab’s CI/CD offering without needing to wire in other
services makes it quite appealing in comparison to GitHub.
Until next year 😉