On Mon, Oct 9, 2023 at 4:47 PM Andres Freund <and...@anarazel.de> wrote: > I think we might be able to speed some of this up by pre-compute values so we > can implement things like bytesleft / UsableBytesInPage with shifts. IIRC we > already insist on power-of-two segment sizes, so instead of needing to divide > by a runtime value, we should be able to shift by a runtime value (and the > modulo should be a mask).
Huh, is there a general technique for this when dividing by a non-power-of-two? The segment size is a power of two, as is the page size, but UsableBytesIn{Page,Segment} are some random value slightly less than a power of two. -- Robert Haas EDB: http://www.enterprisedb.com