Hi, On 2021-10-26 14:33:08 -0400, Tom Lane wrote: > Andres Freund <and...@anarazel.de> writes: > > On 2021-10-26 13:51:55 -0400, Tom Lane wrote: > >> I'd be inclined to just hard-wire the three allowed cases, and not have > >> an arbitrary-divisor code path at all. > > > Yea, I came to the same conclusion. But I'd implement it by moving the > > division into a separate inline function called from the switch. I tested > > that > > locally and it works, but I got sidetracked by [1]. > > Uh, why not just a "switch (base)" around three copies of the loop? > Don't overthink this.
Well, putting the loop into its own function isn't really much more complicated than duplicating the body. And there's also a few more "unnecessarily run-time" branches that we could get rid of that way. But I'm also ok with duplicating, at least for now. Greetings, Andres Freund