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.
Programming
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities !webdev@programming.dev
How cool! This is one great point of FOSS.
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.
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.
There isn't. This is the colloquial use of "exponentially" which is very obvious from the context.
Neat!
Interesting how it had to get to 48 hours before someone pulled out a profiler