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 ;)