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.
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.
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
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.
Worst bugs usually hide in the most trivial causes 😭
How cool! This is one great point of FOSS.
Neat!
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.
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.
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.
good point
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. 🤨
That’s because LLMs really like to output bullet point lists
- Welp, guess I am an LLM now :P
There isn’t. This is the colloquial use of “exponentially” which is very obvious from the context.
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.
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.
Enjoy being mediocre.
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).
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.
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 🤷