How GitLab decreased repo backup times from 48 hours to 41 minutes with a fix to Git

https://about.gitlab.com/blog/2025/06/05/how-we-decreased-gitlab-repo-backup-times-from-48-hours-to-41-minutes/

188 points · 23 comments · view on lemmy.world

23 Comments

Gxost@lemmy.world · 42 pts · 1y (6 replies)

Nah, I was excited to read about the algorithmic change, but it turned out to be an obvious change. I would replace nested loops with a map too. The result is impressive, though.

drspod@lemmy.ml · 23 pts · 1y (4 replies)

Marketing departments love to make a huge deal out of this kind of thing, because they only see the big number improvement and don't really understand that this was just some dev's Wednesday afternoon.

abbadon420@lemm.ee · 31 pts · 1y (1 reply)

And they are right to do so. In the grand scheme of things, it doesn't really matter how much time you spend on a problem. It's the result that matters. I remember a meme where a dev would place a "wait" function in a new feature. Than remove the wait call and call it a free update and get lots of praise from the customer.

mamotromico@lemmy.ml · 5 pts · 1y

I mean, it’s still really impressive upgrade even if technically it was a simple change, they are right to make a fuss about the change

x00z@lemmy.world · 4 pts · 1y

Well it's a 70 times improvement so the developer gets a 70 times bonus. Or at least all the money that would be wasted without this fix.

Or is the world unfair and are developers nowadays just cogs in a capitalistic machine?

Bogasse@lemmy.ml · 6 pts · 1y

Worst bugs usually hide in the most trivial causes 😭

fodor@lemmy.zip · 30 pts · 1y
[ removed ]
manxu@piefed.social · 11 pts · 1y (14 replies)

we traced the issue to a 15-year-old Git function with O(N²) complexity and fixed it with an algorithmic change, reducing backup times exponentially.

I feel like there is something wrong with this sentence.

_taem@discuss.tchncs.de · 16 pts · 1y (2 replies)

I'm not a native speaker, but would agree that it sounds imprecise. To my understanding, that's a polynomial reduction of the time (O(n^2) to O(n): quadratic to linear) and not an exponential speed-up (O(2^n) to O(n): exponential to linear). 🤷 Colloquially, "exponentially" seems to be used synonymously to "tremendously" or similar.

Giooschi@lemmy.world · 7 pts · 1y (1 reply)

and not an exponential speed-up (O(2^n) to O(n): exponential to linear)

Note that you can also have an exponential speed-up when going from O(n) (or O(n^2) or other polynomial complexities) to O(log n). Of course that didn't happen in this case.

kureta@lemmy.ml · 1 pts · 1y

good point

Deebster@infosec.pub · 9 pts · 1y (2 replies)

Seem ok to me, both in grammar and what it's saying about the change. O(N²) to O(N) would be an exponential drop (2 down to 1, in fact).

Giooschi@lemmy.world · 7 pts · 1y

An "exponential drop" would be a drop that follow an exponential curve, but this doesn't. What you mean is a "drop in the exponent", which however doesn't sound as nice.

Bogasse@lemmy.ml · 5 pts · 1y

It's at least misleading 😛

But I have to agree that for any non-math people this would convey the right idea, whereas "quadratic improvement" would probably not mean anything 🤷

drspod@lemmy.ml · 8 pts · 1y (2 replies)

They make the same mistake further down the article:

However, the implementation of the command suffered from poor scalability related to reference count, creating a performance bottleneck. As repositories accumulated more references, processing time increased exponentially.

This article writer really loves bullet point lists, too. 🤨

ugo@feddit.it · 8 pts · 1y (1 reply)
[ removed ]
ulterno@programming.dev · -1 pts · 1y
  • Welp, guess I am an LLM now :P
FizzyOrange@programming.dev · 6 pts · 1y (4 replies)

There isn't. This is the colloquial use of "exponentially" which is very obvious from the context.

drspod@lemmy.ml · -1 pts · 1y (3 replies)

On a technical blog post by a software company about the details of solving an algorithmic complexity problem?

Careless, and showing that the author does not understand technical communication, where precision is of great importance.

FizzyOrange@programming.dev · 0 pts · 1y (2 replies)

This is fine precisely because it is a blog post. If it was a scientific paper... sure maybe they shouldn't say that. But the meaning is abundantly clear from the context. There is no ambiguity.

drspod@lemmy.ml · -5 pts · 1y (1 reply)

Enjoy being mediocre.

FizzyOrange@programming.dev · 0 pts · 1y

Because I can read? Lol ok.

Beacon@fedia.io · 9 pts · 1y

Neat!

arty@feddit.org · 7 pts · 1y

Interesting how it had to get to 48 hours before someone pulled out a profiler