How we decreased GitLab repo backup times from 48 hours to 41 minutes
41–50 of 273 posts
Re: How we decreased GitLab repo backup times from 48 hours to 41 minutes
#42Earlier quoted context omitted.
Thank you. (I don't think that anyone should use "exponentially" that way: it is an art term with a specific and particular meaning, so find another word if you mean something else! Like misusing specific legal or sporting terms...)
Art term?
Re: How we decreased GitLab repo backup times from 48 hours to 41 minutes
#43Re: How we decreased GitLab repo backup times from 48 hours to 41 minutes
#44Re: How we decreased GitLab repo backup times from 48 hours to 41 minutes
#45IME, it has always turned out to be the correct decision to eliminate any n^2 operation in anything I’ve written. I don’t write exotic algorithms, but it’s always astounding how small n needs to be to become observably problematic.
I've seen it several times before, and it's exactly what happened here.
Re: How we decreased GitLab repo backup times from 48 hours to 41 minutes
#46looks like the commit is here: https://github.com/git/git/commit/a52d459e72b890c192485002ec...
Re: How we decreased GitLab repo backup times from 48 hours to 41 minutes
#47"fixed it with an algorithmic change, reducing backup times exponentially" If the backup times were O(n^2), are they now O(n^2 / 2^n)? I would guess not.
This is not the precise mathematical definition of exponential, but rather the colloquial one, where it just means "a lot".
Re: How we decreased GitLab repo backup times from 48 hours to 41 minutes
#48Re: How we decreased GitLab repo backup times from 48 hours to 41 minutes
#49Earlier quoted context omitted.
https://en.wiktionary.org/wiki/term_of_art
Ah, thanks. I could only think of art as in literal, artistic art.
Re: How we decreased GitLab repo backup times from 48 hours to 41 minutes
#50This is the approach I've taken with SQLite in production environments. Turn on WAL and the problem gets even easier to solve. Customer configures the VM for snapshots every X minutes. Git presumably doesn't have something approximating a WAL, so I understand the hesitation with this path. But, I still think the overall strategy is much more viable and robust to weird edges within git.