Re: What's so special about objects/17/ ?
From: Stefan Beller <hidden>
Date: 2018-10-09 17:38:14
On Mon, Oct 8, 2018 at 6:03 PM Junio C Hamano [off-list ref] wrote:
Stefan Beller [off-list ref] writes:quoted
On Sun, Oct 7, 2018 at 1:07 PM Junio C Hamano [off-list ref] wrote:quoted
Junio C Hamano [off-list ref] writes:quoted
quoted
... by general public and I do not have to explain the choice to the general public ;-)One thing that is more important than "why not 00 but 17?" to answer is why a hardcoded number rather than a runtime random. It is for repeatability.Let's talk about repeatability vs statistics for a second. ;-)Oh, I think I misled you by saying "more important". I didn't mean that it is more important to stick to the "use hardcoded value" design decision than sticking to "use 17". I've made sure that everybody would understnd choosing any arbitrary byte value other than "17" does not make the resulting Git any better nor worse.
Yes, I totally get that. We could have chosen 42 just because.
But discussing the design decision to use hardcoded value is "more important", as that affects the balance between the end-user experience and debuggability, and I tried to help those who do not know the history by giving the fact that choice was made for the latter and not for other hidden reasons, that those who would propose to change the system may have to keep in mind.
From an end users point of view, the auto gc kicks in at random. (Maybe it's just me, but I don't keep track of the loose object count ;-) For debuggability, we could design a system that allows for debugging, e.g. "When GIT_AUTO_GC_BIN is set, use the number as set, otherwise take a random slot".
Sorry if you mistook it as if I were saying that it is important to keep the design to use a hardcoded byte value. That wasn't what the message was about.
I understood very well that the choice of value was arbitrary and you do not have a convincing story as to why 17 (and not say 23, but such a story is not required, as all slots are equal from a design perspective). I do challenge the decision to take a hardcoded value, though, as it yields better properties for the end users IMHO, whereas debugging this specific case does not seem to be important to me.