How GitLab decreased repo backup times from 48 hours to 41 minutes with a fix to Git (about.gitlab.com)
from chaospatterns@lemmy.world to programming@programming.dev on 08 Jun 2025 01:08
https://lemmy.world/post/31005859

#programming

threaded - newest

Beacon@fedia.io on 08 Jun 2025 04:03 next collapse

Neat!

fodor@lemmy.zip on 08 Jun 2025 04:28 next collapse

How cool! This is one great point of FOSS.

manxu@piefed.social on 08 Jun 2025 05:10 next collapse

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.

Deebster@infosec.pub on 08 Jun 2025 05:27 next collapse

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

Bogasse@lemmy.ml on 08 Jun 2025 09:28 next collapse

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 🤷

Giooschi@lemmy.world on 08 Jun 2025 10:45 collapse

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.

_taem@discuss.tchncs.de on 08 Jun 2025 07:13 next collapse

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 on 08 Jun 2025 10:43 collapse

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 on 08 Jun 2025 18:28 collapse

good point

drspod@lemmy.ml on 08 Jun 2025 08:26 next collapse

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. 🤨

[deleted] on 08 Jun 2025 09:19 collapse

.

ulterno@programming.dev on 08 Jun 2025 17:32 collapse

  • Welp, guess I am an LLM now :P
FizzyOrange@programming.dev on 08 Jun 2025 10:44 collapse

There isn’t. This is the colloquial use of “exponentially” which is very obvious from the context.

drspod@lemmy.ml on 08 Jun 2025 12:56 collapse

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 on 08 Jun 2025 17:56 collapse

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 on 08 Jun 2025 18:02 collapse

Enjoy being mediocre.

FizzyOrange@programming.dev on 09 Jun 2025 17:36 collapse

Because I can read? Lol ok.

Gxost@lemmy.world on 08 Jun 2025 06:46 next collapse

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 on 08 Jun 2025 08:30 next collapse

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 on 08 Jun 2025 08:58 next collapse

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.

wise_pancake@lemmy.ca on 08 Jun 2025 11:56 collapse
mamotromico@lemmy.ml on 08 Jun 2025 18:34 next collapse

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 on 09 Jun 2025 17:52 collapse

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 on 08 Jun 2025 09:25 collapse

Worst bugs usually hide in the most trivial causes 😭

arty@feddit.org on 08 Jun 2025 19:53 collapse

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