It’s been just a bit over a year since I did my original speed comparison of GitHub and GitLab.
There’s been a lot of moving and shaking from both companies over that period. Some of it has been good, like GitHub changing their pricing and private repo offering. Then there’s been some bad stuff, like when GitLab had some data loss.
Even with something as extreme as data loss, I am still rooting for GitLab. Unfortunately, I personally can’t make the jump until I know it can perform as well as GitHub does for me.
As somebody that pushes and pulls data quite frequently, my tools and services have to improve my day, not slow me down. Similar to last year’s comparison, I’m timing cloning, pushing and pulling to a fresh repo with a README in it.
Last year I only ran the test once, which honestly wasn’t all that insightful. I ended up putting together a small shell script to run through everything 10 times so I could get an average.
I would have liked to run more iterations but I think I was hitting some DDoS protection with GitHub as things would just randomly die on me. I played with sleeping between calls but still the same results. If not some sort of tripwire, could just be an issue with GitHub.
For the cloning of the I used both HTTPS and SSH but only tested SSH for pushing and pulling since git was barking about login credentials. The following results are all via SSH for consistency but it is worth noting that HTTPS performed twice as fast as SSH for both companies.
GitHub | GitLab | |
---|---|---|
git clone | 1.209s | 1.443s |
git push | 0.900s | 1.481s |
git pull | 0.902s | 1.405s |
A far cry from last year’s results where GitLab was a tenth the speed of GitHub!
If things continue to improve, there’s a good chance that GitLab could be at parity with GitHub in the next year. Especially considering that GitHub only saw small improvements over that same period.
If you’re interested in the full results, you can find them here.