One of the many reasons I moved to self hosting. I use ZFS to backup every 15 minutes, ... could do it even more frequently but that seems a little pointless. Also moved away from Gitlab because it's so damn slow.
How we decreased GitLab repo backup times from 48 hours to 41 minutes
31–40 of 273 posts
Re: How we decreased GitLab repo backup times from 48 hours to 41 minutes
#32Here comes an unpopular nitpick: "... 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." Uh no you didn't. Not possible. At most a polynomial reduction is possible else complexity theory needs a re-write. (OK, yes, k could be doing some heavy lifting here, but I doubt it.) If you are going to quote a maths formula then…
OP here. Feedback is always welcome, I did mean exponentially in the colloquial sense. I do see how it is confusing here, will change it.
(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...)
Re: How we decreased GitLab repo backup times from 48 hours to 41 minutes
#33Earlier quoted context omitted.
I'm not the OP you're responding to, but to be fair, in a sentence about big-O perf characteristics, which includes the word "algorithms", using "exponentially" in a colloquial non-technical sense is an absolutely terrible word choice.
Exponentially bad word choice even... since we're using that word however we want now? I don't think this is meaningless or non-constructive pedantry - we're a technical community and those are technical words.
Re: How we decreased GitLab repo backup times from 48 hours to 41 minutes
#3448 hours is a crazy amount of time to spend just to compress a git folder, it's only a couple GB. 41 minutes still seems like quite a long time. Why aren't they just snapshotting and archiving the full git repo? Does `git bundle` add something over frequent ZFS backups?
That said, there's another less known feature that bundles help out with when used with `git clone --bundle-uri` The client can specify a location to a bundle, or the server can send the client the bundle location in the clone results and the client can fetch the bundle, unpack it, and then update the delta via the git server, so it's a lot lighter weight on the server for cloning large repos, and a ton faster for the client for initial clones.
Re: How we decreased GitLab repo backup times from 48 hours to 41 minutes
#35Realtalk: They should rewrite this post's headline to be in a positive tense instead of leading with a negative word. I'm glad I read the post, because it is a cool and good fix, but I saw “Decreasing […] repo backup” and my first thought was that it was an announcement of some service downgrade like some sort of cost-cutting measure.
Re: How we decreased GitLab repo backup times from 48 hours to 41 minutes
#36Here comes an unpopular nitpick: "... 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." Uh no you didn't. Not possible. At most a polynomial reduction is possible else complexity theory needs a re-write. (OK, yes, k could be doing some heavy lifting here, but I doubt it.) If you are going to quote a maths formula then…
Instead of saying "set". The code itself uses the type "strset".
Re: How we decreased GitLab repo backup times from 48 hours to 41 minutes
#37Earlier quoted context omitted.
OP here. Feedback is always welcome, I did mean exponentially in the colloquial sense. I do see how it is confusing here, will change it.
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...)
Re: How we decreased GitLab repo backup times from 48 hours to 41 minutes
#38https://github.com/git/git/commit/bb74c0abbc31da35be52999569...
Re: How we decreased GitLab repo backup times from 48 hours to 41 minutes
#39Re: How we decreased GitLab repo backup times from 48 hours to 41 minutes
#40The worst troublesome cases of inefficient production are almost always O(n^2).